我正在对从几个Twitter帐户收集的推文数据集进行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和keep的值?
这里不需要匿名函数来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
中的...
参数将被传递给引用的函数。通过在lapply
中直接引用LDA
,您只需要确保命名x
参数,因为k
值是LDA
的第二个参数。
另一方面,如果每个k
值需要不同的burnin
、iter
和keep
值,则需要传递多个不同的参数。有几种方法可以做到这一点,尽管我认为purrr::pmap
是最直接的。
lapply
的签名是lapply(X, FUN, ...)
。这三个点表示 FUN 的可选参数。因此,您应该能够在函数后提供用逗号分隔的参数。