【发布时间】:2019-02-22 15:37:44
【问题描述】:
vocab
wordIDx V1
1 archive
2 name
3 atheism
4 resources
5 alt
wordIDx newsgroup_ID docIdx word/doc totalwords/doc totalwords/newsgroup wordID/newsgroup P(W_j)
1 1 196 3 1240 47821 2 0.028130269
1 1 47 2 1220 47821 2 0.028130269
2 12 4437 1 702 47490 8 0.8
3 12 4434 1 673 47490 8 0.035051912
5 12 4398 1 53 47490 8 0.4
3 12 4564 11 1539 47490 8 0.035051912
对于 vocab 中的每个 wordIDx,我需要计算以下公式: 例如 wordIDx = 1 ; 我的价值应该是
max(log(0.02813027)+sum(log(2/47821),log(2/47821)))
= -23.73506
我现在有以下代码:
classifier_3$ans<- max(log(classifier_3$`P(W_j)`)+ (sum(log(classifier_3$`wordID/newsgroup`/classifier_3$`totalwords/newsgroup`))))
如何以一种考虑 vocab 数据帧中的所有 wordIDx 并计算上述示例的方式循环,正如我突出显示的那样。
【问题讨论】:
-
您能否通过 dput(head(dataframe, 10)) 提供您的示例数据?