2

我对 R 完全陌生,我目前正在使用tmlda包来分析日志。

lda.collapsed.gibbs.sampler可以采用“初始”参数,并在文档中说明:

最初的

单词的初始主题分配列表。它应该与返回值的 assignments 字段格式相同。如果此字段为 NULL,则采样器将使用随机分配进行初始化。

但是,当我尝试迭代将先前的 result$assignments 作为初始参数传递时,出现错误:

> result <- lda.collapsed.gibbs.sampler(data, K,vocab,i, 0.1,0.1, initial = lda_result$assignments, compute.log.likelihood=TRUE) 
Error in structure(.Call("collapsedGibbsSampler", documents, as.integer(K),  : 
STRING_ELT() can only be applied to a 'character vector', not a 'NULL' 

我不知道如何摆脱它并实际使用该列表。我想要的是通过采取措施并查看结果来衡量收敛,因此简单地将i设置为更大的数字是行不通的。

提前致谢!:)

4

1 回答 1

2

这里的文档有点参差不齐。你需要设置initial=list(assignments = lda_result$assignments). 更一般地说,initial是一个必须有一个assignments集合或两者都有topics的列表topic_sums

于 2014-01-16T19:03:34.120 回答