【发布时间】:2018-10-04 14:43:04
【问题描述】:
我想提取一个向量,其中包含所有变量的名称,其值(不是名称本身)包含特定字符串。
例如:
> dat
Name Mark1 Mark2 Mark3
1 A 67% 61% 87
2 B 98% 83% 26
3 C 42% 62% 98
4 D 83% 32% 36
5 E 40% 90% 80
6 F 89% 25% 44
从上面的数据框中,我想要其值包含“%”符号的变量名。到目前为止,我一直在使用 for 循环来执行此操作,但完成一项简单的任务似乎还有很长的路要走。
> prct <- c()
> for (i in 1:ncol(dat)){
if (any(grepl("%", dat[,i]) == T)){
prct <- c(prct, colnames(dat)[i])
}
}
> prct
[1] "Mark1" "Mark2"
【问题讨论】:
-
names(dat)[,sapply(dat,function(x)any(grepl("%", x))]
标签: r variable-names