Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 文本挖掘-包含列表的单列中的词频_R_Text Mining_Tm_Word Frequency - Fatal编程技术网

R 文本挖掘-包含列表的单列中的词频

R 文本挖掘-包含列表的单列中的词频,r,text-mining,tm,word-frequency,R,Text Mining,Tm,Word Frequency,这是我的数据集: 我正在尝试从具有以下结构的单个列创建标签的频率表: 为了简单起见,我尝试使用qdap,但结果不正确 library(qdap) tags_df <- read.csv(file.choose()) freq_terms(tags_df$tags) 解决方案 只是改进了创建数据框和对Rui给出的解决方案进行排序: sp <- unlist(strsplit(as.character(unlist(tags_df$tags)),'^c\\(|,|"|\\)')) i

这是我的数据集:

我正在尝试从具有以下结构的单个列创建标签的频率表:

为了简单起见,我尝试使用qdap,但结果不正确

library(qdap)
tags_df <- read.csv(file.choose())
freq_terms(tags_df$tags)
解决方案

只是改进了创建数据框和对Rui给出的解决方案进行排序:

sp <- unlist(strsplit(as.character(unlist(tags_df$tags)),'^c\\(|,|"|\\)'))

inx <- sapply(sp, function(y) nchar(trimws(y)) > 0 & !is.na(y))

data <- as_data_frame(table(tolower(sp[inx])))

data <- data[with(data,order(-n)),]

data <- data[1:10,]

如果您想要或需要的只是一个频率计数,那么您可以不使用外部包,base R有一个函数表


您可以使用表函数计算数据。更新了原文post@user709413要对结果进行排序,那么,进行排序。请参阅帮助页面帮助排序。
sp <- unlist(strsplit(as.character(unlist(tags_df$tags)), '^c\\(|,|"|\\)'))
inx <- sapply(sp, function(y) nchar(trimws(y)) > 0 & !is.na(y))
table(sp[inx])
#    Android        CSS3      Design      Hiring  JavaScript      NextJS 
#          1           1           1           1           4           1 
#     NodeJS programming Programming     ReactJS     Testing          UI 
#          1           1           3           3           1           1 
#         UX   WebDesign      webdev      WebDev 
#          1           2           1           4
table(tolower(sp[inx]))