我想從R中的topicmodels包使用LDA模型。 我需要測量方法的不穩定性,所以我已經從W = 3000字的Dirichlet分佈生成真實參數,t = 8個主題和d = 50名的文件與大約60個字中的每個之一:錯誤與功能topicmodels :: lda在R
Theta = t(rdirichlet(d, alpha))
Phi = t(rdirichlet(t, beta))
docs = matrix(0, nrow = d, ncol = w)
for (i in 1:d) {
curn = rnorm(1, mean = 60, sd = 10)
for (j in 1:curn) {
curt = rdiscrete(1, Theta[,d], 1:t)
curw = rdiscrete(1, Phi[,curt], 1:w)
docs[i, curw] = docs[i, curw] + 1
}
}
因此,我的文檔矩陣是稀疏矩陣d * w和幾乎所有元素都是0或1。
然後我需要我的文檔矩陣將成爲DocumentTermMatrix類的一個對象,以便在topicmodels中使用它:lda():
docs = as.DocumentTermMatrix(docs, weighting = weightTf)
我需要用吉布斯抽樣的方法,所以我寫
ldafitmodel <- lda(docs, t, method = "Gibbs")
然後我得到:
錯誤lda.default(文檔,T,方法= 「吉布斯」 ): nrow(X)和長度(分組)是不同的
我想這topicmodels包使用MASS包,但隨後這個分組p參數是我無法明確控制的,我能嗎?或者我的數據有什麼問題?
請幫幫我!因爲你沒有d,T,W,α或定義的測試版,不加載相應的軟件包爲您rdirichlet()
和rdiscrete()
函數調用
BR, 瑪麗亞
請讓您的情況具有可重複性,即向我們提供模擬您的情況所需的數據和代碼。有關如何執行此操作的更多提示,請參閱http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example。 – 2013-03-15 10:23:22
@PaulHiemstra,完成:) – FrauHahnhen 2013-03-15 10:49:54