r - 拆分一列字符向量并返回一个列表
问题描述
我有以下数据框:
df <- data.frame(Sl.No = c(1:6),
Variable = c('a', 'a,b', 'a,b,c', 'b', 'c', 'b,c'))
Sl.No Variable
1 a
2 a,b
3 a,b,c
4 b
5 c
6 b,c
我想将变量列中的唯一值分隔为列表
myList <- ("a", "b", "c")
我尝试了以下代码:
separator <- function(x) strsplit(x, ",")[[1]][[1]]
unique(sapply(df$Variable, separator))
然而,这给了我以下输出:
"a"
我请求一些帮助。我已经搜索过,但似乎无法找到答案。
解决方案
我们可以Variable
在“,”处拆分列并获取所有值并仅选择unique
那些值。
unique(unlist(strsplit(df$Variable, ",")))
#[1] "a" "b" "c"
如果Variable
列是因子,则在使用之前将其转换为字符strsplit
。
推荐阅读
- python - Path.glob 带来
, 不是真实的文件路径 - amazon-web-services - aws codecommit - 有没有办法获取文件夹下的所有文件,包括其子文件夹
- java - 配置 jacocoTestReport 以读取多个 .exec 文件作为输入
- python - 如何在 Django 中使用 Lightbox 显示图像
- sql - Oracle Sql - 如何从输出的查询结果中获取数据大小?
- css - Font Awesome 5 图标未在 Chrome 上的 :before 元素中呈现
- javascript - Whats the best way to check for the existence of a document which contains a field with a specific value - Firestore?
- javascript - JavaScript 箭头函数是如何工作的?
- json - 如何缩短类中变量的声明?
- mysql - Mysql group by 与 group by 相反