看板 R_Language 關於我們 聯絡資訊
問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用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
Wush978:try `combn`, use it with loop 01/09 13:02
koai:X <- c("a","b",...); # vector of words 01/09 13:30
koai:IDX <- combn(50,2); score <- rep(0,ncol(IDX)); 01/09 13:30
koai:for(i in 1:ncol(IDX)){ 01/09 13:30
koai: score[i] <- cosine(X[IDX[1,i]],X[IDX[2,i]]) } 01/09 13:31
koai:should work!! ^^ 01/09 13:31
tezukaprince:It works!!!!Thank you so much!!!!! 01/09 13:46
tezukaprince:好好來筆記combn! 01/09 13:48