提问者:小点点

列中的唯一词总数-R


我感兴趣的是计算列中出现的唯一单词。而不是像在将唯一/典型单词计数到新列中那样每行获取唯一单词,我感兴趣的是获得一个计算该列中所有唯一条目的答案。在以下示例中,唯一国家总数为3个:中国、澳大利亚和韩国

有没有一个简单的方法可以得到这个总和?我还在学习R,所以我的知识有限。

Countries

China  Australia

Australia

China China 

Korea Korea Korea Korea

共3个答案

匿名用户

我们可以按空格拆分列“国家”,unlist,得到唯一词的长度

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))

匿名用户

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

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

匿名用户

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