作者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