我希望创建一个单词对预测函数,但是在使用DocumentTermMatrix到数据框或类似用于预测函数时遇到了问题。这是我的工作代码:
library(tm);
BigramTokenizer <-
function(x)
unlist(lapply(ngrams(words(x), 2), paste, collapse = " "), use.names = FALSE)
tdm_pairs <- DocumentTermMatrix(my_corpus, control = list(tokenize = BigramTokenizer))
freq_pairs <- colSums(as.matrix(tdm_pairs))
freq_pairs[100]
abandon contemporary
1
我希望将其拆分并放入数据框,因此我可以用于预测功能。我使用以下内容:
for (i in 1:10){
df <- rbind(df,(unlist(strsplit(as.character(freq_pairs)[i]," "))[1]))
}
输出全部为1。我希望输出为:
"abandon" "contemporary" "1"
答案 0 :(得分:0)
您可以使用以下代码来获取数据框。优点是freq_pairs保持一个数字而不需要循环。
df <- strsplit(names(freq_pairs), " ")
df <- as.data.frame(matrix(unlist(df),
ncol = 2,
byrow = TRUE,
dimnames = list(1:length(df), c("word1", "word2"))),
stringsAsFactors = FALSE)
df <- cbind(df, freq_pairs)