首页 > 解决方案 > 使用逗号分隔的字符串查找数据集变量中的所有项目

问题描述

我正在尝试使用逗号分隔的字符串获取数据框变量中的所有唯一项:

我有这个数据框 df = data.frame(v1 = c("A,S", "A,B,F", "A,B,C,D"))

我希望结果是这样的:

A,B,C,D,F,S

循环会起作用,但我知道有一种更简单的方法。

标签: r

解决方案


我们可以通过 拆分列,从ing 中,获取sortedunique元素unlistlist

sort(unique(unlist(strsplit(df$v1, ","))))
[1] "A" "B" "C" "D" "F" "S"

或使用tidyverse- 在分隔符处拆分列“v1”,返回distinct行和arrange

library(dplyr)
library(tidyr)
df %>% 
   separate_rows(v1) %>% 
   distinct(v1) %>% 
   arrange(v1)

-输出

# A tibble: 6 x 1
  v1   
  <chr>
1 A    
2 B    
3 C    
4 D    
5 F    
6 S

推荐阅读