我正在对我的几个推特账户收集的推文数据集进行LDA主题建模,这些推文包含9582个文档和预处理后的4144个术语。为了运行LDA功能,我必须定义参数值,以控制运行模型时绘制的Gibbs采样数。
fitted_many <- lapply(sequ, function(k) LDA(dtmTopicModeling, k = k,
method = "Gibbs",control = list(burnin = burnin, iter = iter, keep = keep) ))
如何为上述功能定义 burnin , iter 和保持的值?
答案 0 :(得分:1)
您在这里不需要lapply
的匿名功能,因为您所做的只是将k
值传递给LDA
。相反,你需要像:
fitted_many <- lapply(sequ,
LDA,
x = dtmTopicModeling,
method = "Gibbs",
control = list(burnin = burnin_value,
iter = iter_value,
keep = keep_value))
正如Oriol所提到的,...
中的lapply
参数将被传递给引用的函数。通过直接在LDA
中引用lapply
,您只需确保命名x
参数,因为k
值是LDA
的第二个参数。
另一方面,如果每个burnin
值需要iter
,keep
和k
的不同值,那么您需要传递多个不同的参数。有几种方法可以做到这一点,但我认为purrr::pmap
是最直接的。
答案 1 :(得分:0)
lapply
的签名是lapply(X, FUN, ...)
。三个点指的是FUN的可选参数。所以你应该能够在函数之后提供用逗号分隔的那些参数。