R中是否存在可将DataFrame列转换为文本挖掘用字典的函数?
R语言批量从DataFrame生成quanteda字典的方法
你可以直接将DataFrame转换为命名列表后传入dictionary()函数,无需手动枚举每一列:
全列生成字典
如果需要把DataFrame的所有列都作为字典的分类,直接调用as.list()转换即可,转换后会自动保留原DataFrame的列名作为字典的分类名称:
library(quanteda) # df为存储关键词的目标DataFrame dict <- dictionary(as.list(df))
选取部分列生成字典
如果只需要指定列生成字典,先做列筛选再转换即可:
# 按列索引筛选,例如取第2到第8列 dict <- dictionary(as.list(df[, 2:8])) # 按列名规则筛选,例如取列名包含"关键词"的所有列 target_cols <- grep("关键词", colnames(df), value = TRUE) dict <- dictionary(as.list(df[, target_cols]))
原写法问题说明
你之前尝试的list(df$V1,df$V2,df$V3)生成的是无命名列表,dictionary()要求每个关键词分组有对应的分类名,因此无法正常运行。as.list(df)会自动将列名作为列表的键,完全匹配dictionary()的传参要求。
内容的提问来源于stack exchange,提问作者user10634518
相关产品推荐
相关产品推荐

