一列中的唯一字总数-R

时间:2018-06-26 04:35:07

标签: r sum strsplit

我有兴趣计算列中出现的唯一单词。 而不是像Count unique/dinstinct words into a new column那样每行获得唯一的单词 我有兴趣获得一个答案,该答案计算该列中的所有唯一条目。 在以下示例中,唯一国家总数为3: 中国 澳大利亚和 韩国

是否有一种简短的方法来获得这笔款项? 我仍在学习R,因此我的知识有限。

Countries

China  Australia

Australia

China China 

Korea Korea Korea Korea

3 个答案:

答案 0 :(得分:1)

我们可以按split个空格unlist length来获取unique个单词中的length(unique(unlist(strsplit(df1$Countries, " ")))) #[1] 3

tidyverse

或使用library(tidyverse) df1 %>% separate_rows(Countries) %>% distinct() %>% nrow #[1] 3

df1 <- structure(list(Countries = c("China Australia", "Australia", 
 "China China", "Korea Korea Korea Korea")), .Names = "Countries",
  class = "data.frame", row.names = c(NA, -4L))

数据

ProcessBuilder pb = new ProcessBuilder("cmd /c my_script.bat"));
Process p = pb.start();
p.waitFor(10, TimeUnit.SECONDS);

p.descendants().forEach(ph -> {
    ph.destroy();
});

p.destroy();

答案 1 :(得分:1)

df %>% 
   separate_rows(col,sep=",") %>% 
   count(col)

答案 2 :(得分:0)

这基于您提供的数据的模式:

length(unique(unlist(str_split(data$Countries, ' '))))