我正在使用R
包在topicmodels
中基于推文创建主题模型。
我想创建一个包含主题模型中所有结果的数据框,以便我可以将其插入到数据库中。我就是这样做的:
# create dataframe with relevant results
topics <- as.data.frame(ldaTopics@gamma)
topics$id <- as.character(ldaTopics@documents)
topics$topic <- topics(ldaTopics)
# reorder columns to match table structure in database
reordered_topics <- topics[,c(6, 1, 2, 3, 4, 5, 7)]
# write results to db
dbWriteTable(con, "topics", value = reordered_topics, append = TRUE, row.names = FALSE)
现在我的问题:当我将数据帧写入数据库时,我得到错误,即有重复的ID:
RS-DBI驱动程序:(无法检索结果:错误:重复键 值违反唯一约束“topics_pkey”DETAIL:Key(id)=(1) 已经存在。背景:COPY主题,第1行
这很奇怪,因为我已经检查了id的确实在多大程度上与`SELECT COUNT(DISTINCT id)FROM tweets;。返回的数字与选择整个表中的所有ID相同。
我认为将topicmodels
结果合并到数据框中的方法出了问题。但我无法弄清楚发生了什么。有谁知道这里发生了什么?