r - 当列名匹配向量中的字符时,提取数据框中的列
问题描述
我有一个向量,其字符与数据框中的某些列名匹配。我想提取/子集与向量 v 匹配的列。我可以这样做吗?想象一个大数据框!
a <- sample(100,10)
b <- sample(100,10)
c <- sample(100,10)
d <- sample(100,10)
df <- data.frame(a,b,c,d)
df
a b c d
1 91 17 93 53
2 9 94 65 55
3 11 58 38 13
4 100 77 98 45
5 69 9 61 2
6 15 50 44 14
7 58 55 88 85
8 78 45 33 51
9 94 3 89 62
10 7 12 90 44
v <- c("a","c")
wanted output:
a c
1 91 93
2 9 65
3 11 38
4 100 98
5 69 61
6 15 44
7 58 88
8 78 33
9 94 89
10 7 90
>
解决方案
我们可以用select
library(dplyr)
df %>%
select(all_of(v))
-输出
# a c
#1 26 92
#2 34 15
#3 15 80
#4 4 88
#5 55 69
#6 96 78
#7 63 2
#8 69 62
#9 12 100
#10 16 22
推荐阅读
- c - 预期的 ';' 在顶级声明者之后
- r - 从网站的多页中抓取表格
- xcode - 如何在 Testflight 上启用 Firebase Analytics Debugview
- php - woocommerce:如何在自定义循环中显示折扣
- bash - 在 Windows 上加速大量短暂的“psql”会话
- swift - Dart 中是否有类似“Any”类型的 Swift?
- python - 如何从 tfidf_vectorizer 中查看 TF-IDF 值?
- html - 为什么我的带有 javascript 的项目会出现在我的 Nav 前面
- typescript - 使用@babel/plugin-transform-typescript 编译打字稿时如何修复警告
- excel - Excel从另一个具有条件的动态工作簿中提取所有行