作者tezukaprince (shanon)
看板R_Language
標題[問題] 兩兩配對的問題
時間Thu Jan 9 12:10:14 2014
問題: 當你想要問問題時,請使用這個類別
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出x來)
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
因為是極度新手,所以如果發問不夠清楚還請大家包涵m(_ _)m
我現在在使用一個套件叫做lsa 可以幫我算出兩個詞彙之間的語意關係
(btw我是語言所的研究生 平常會用R處理語料)
這個套件裡面有一個function就是 cosine("a","b")
把兩個character餵進去 例如 cosine("棒球","教練")
他就可以從語料庫中計算出這兩個詞彙的語意距離
我的問題是 我現在總共有五十個字放在一個vector裡面
我需要得到這五十個字兩兩一組的cosine值 算出它們的平均
(假如只有 a,b,c三個字 我需要 cosine ("a","b"),cosine("b","c"),
和cosine("a","c")的值)
該如何用loop 幫我自動兩兩配對餵進去 cosine("","")裡面呢?
如果有發問不當還請各位多多指教 感激不盡!
[程式範例]:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.147.133
1F:推 Wush978:try `combn`, use it with loop 01/09 13:02
2F:推 koai:X <- c("a","b",...); # vector of words 01/09 13:30
3F:→ koai:IDX <- combn(50,2); score <- rep(0,ncol(IDX)); 01/09 13:30
4F:→ koai:for(i in 1:ncol(IDX)){ 01/09 13:30
5F:→ koai: score[i] <- cosine(X[IDX[1,i]],X[IDX[2,i]]) } 01/09 13:31
6F:→ koai:should work!! ^^ 01/09 13:31
7F:→ tezukaprince:It works!!!!Thank you so much!!!!! 01/09 13:46
8F:→ tezukaprince:好好來筆記combn! 01/09 13:48