33 Tokyo.R R (IRT) R ( ) 2013 8 31 1
1 4 (UNIX / Linux ) ( ) 2002 Linux OSS TEX IDE http://www.dokoka.org/ 2
2 Tokyo.R (Excel) SAS SPSS JMP AMOS MATLAB Octave R ( R ) R 3
3 (IRT) R IRT Twitter Streaming API R R ( ) R 4
1 5
4 IRT ( ) 正 答 率 0.0 0.2 0.4 0.6 0.8 1.0 とあるテストの 項 目 特 性 曲 線 (2PL) Q3 Q4 Q2 Q1 Q5-4 -2 0 2 4 理 解 度 とあるテストのテスト 情 報 曲 線 (2PL) 情 報 量 0.00 0.02 0.04 0.06 0.08 0.10 0.12 とあるテストの 項 目 情 報 曲 線 (2PL) Q3 Q2 Q1 Q4 Q5-4 -2 0 2 4 理 解 度 とあるテストの 受 講 者 能 力 分 布 (2PL) ( ) before:... ( ) after: 情 報 量 0.10 0.15 0.20 0.25-4 -2 0 2 4 理 解 度 密 度 0.0 0.2 0.4 0.6 0.8-1.5-1.0-0.5 0.0 0.5 1.0 理 解 度 6
5 R IRT 1 RjpWiki ( ) ltm irtoys 1 1 1 / 0, (2010) (2011) (...) plot ---------- ---------- Q1,Q2,Q3,Q4,Q5 0,1,0,0,0 1,1,0,1,0 ---------- ---------- library(irtoys) data <- read.csv("hoge.csv",header=t) # ltmans <- ltm(data z1,irt.param=true) # ltmscore <- factor.scores(ltmans,method="eb") # trfans <- est(data,model="2pl",engine="ltm") trfscore <- trf(trfans$est) # ltminfo <- information(ltmans,c(-1,1)) 7
6 R IRT 2 4 (ICC) ( ) 0 0.5 S... # plot.ltm(ltmans,...) # plot.ltm(ltmans,type="iic",...) # plot.ltm(ltmans,type="iic",items=0,...) # plot(trfscore,...) # print(ltmans,quote=f) print(ltminfo,quote=f) ---------- ---------- Dffclt Dscrmn Q1-1.012 0.464 Q2-0.930 0.543 Q3-0.880 0.697 Q4 1.555 0.260 Q5-16.148-0.065 Information in (-1, 1) = 0.48 (25.2%) 8
2 9
7 Twitter ラピュタ 行 く T 2013/08/02 23:15 言 う 接 近 ww 緊 急 事 態 時 間 待 つ明 日 前 Twitter 何 w 人 名 言 笑 人 人 TL Y w 厂 俺 今 日 TL ダウン 来 る 絶 対 人 がゴミのようだ バルス 祭 りY 思 う私 呟 く バル 今 目 見 るシータ wwww ( 笑 ) フォロ 対 決 発 生 人 間 ツイート サーバー パズー ムスカ ゴミ (... ) 10
8 Twitter Twitter Streaming API R TwitteR Ruby : http://d.hatena.ne.jp/ne555/20120108 require time require rubygems require tweetstream SEP="\t" TweetStream::Client.new.sample do status if status.user.lang == "ja" dt = Time.parse("status.created_at") text = status.text.gsub("\n", " ") puts("#{dt}#{sep}#{status.user.screen_name}#{sep}#{text}") end end 11
9 Twitter 1 wordcloud : http://onertipaday. blogspot.jp/2011/07/ word-cloud-in-r.html R MeCab RMeCab ----- ----- at<-read.delim("hoge.txt",...) at$time<-as.posixct(at$time, format="%y-%m-%d %H:%M") at$tweet<-as.character(at$tweet) x<-0; y<-"2013-08-02 00:00" # tn<-as.posixct(y,format="%y-%m-%d %H:%M") while (x <= 1440) { # if(!length(subset(at$tweet,at$time==tn))==0){ write.table(subset(at$tweet,at$time ==tn),file="tmp.txt",quote=f,row.names=f, col.names=f) # MeCab rt<-rmecabfreq("tmp.txt") 12
10 Twitter 2 Twitter mecab-dic-overdrive Wikipedia : https://github.com/nabokov/ mecab-dic-overdrive ----- ----- part_rt <-rt[(rt$info1==" " rt$info1==" " rt$info1==" " rt$info1==" ") &!rt$info2==" " & (!rt$term=="rt" &!rt$term==".co" &!rt$term=="http" &!rt$term=="www") & rt$freq > 15,] # 1 15 if(nrow(part_rt)>=1){ # pallet<-brewer.pal(8,"dark2") # wordcloud(part_rt$term,part_rt$freq, scale=c(5,2),max.words=inf,random.order=t, random.color=f,colors=pallet) } } x<-x+1; tn<-tn+60 } 13
3 14
11 R Hadoop KVS UBS51L R R R 1 R ( ) R 15
12 R R 10 11 16