如何在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))), ",")))