如何在R中拆分字符并计算相应的频率

如何在R中拆分字符并计算相应的频率,r,split,character,frequency-analysis,R,Split,Character,Frequency Analysis,以下是我的数据: [1] NA NA [3] NA "EP, IP, RA, SH" [5] "EO, EP" NA 我使用以下方法拆分数据:

以下是我的数据:

 [1] NA                                              NA                                             
 [3] NA                                              "EP, IP, RA, SH"
 [5] "EO, EP"                                        NA 
我使用以下方法拆分数据:

da$name<-str_split(da$name,",")
我想计算NA,EP,IP,RA,SH和EO的频率


有没有一种可行的方法?

可能不是最好或更优雅的方法,但一种可能的解决方案是取消列出strsplit结果,使其成为所有单个值的向量,然后计算每个不同的值:


df可能不是最好或更优雅的方法,但可能的解决方案是取消列出strsplit结果,使其成为所有单个值的向量,然后计算每个不同的值:

df在base R中,您可以取消列的列表,删除NA值,用逗号拆分它们,并使用表计算频率

在BaseR中,您可以取消列的列表,删除NA值,用逗号拆分它们,并使用表计算频率


例如,如果我有一个表示年份的列,我想计算不同年份下不同vec的频率。例如,如果我有一个表示年份的列,我想计算不同年份下不同vec的频率。df
[[1]]
[1] NA

[[2]]
[1] NA

[[3]]
[1] NA

[[4]]
[1] "EP"  " IP" " RA"  " SH"

[[5]]
[1] "EO" " EP"         

[[6]]
[1] NA
table(unlist(strsplit(na.omit(unlist(as.character(da$name))), ",")))