如何将列名作为参数传递给 dplyr 中的函数?
How to pass column name as parameter to function in dplyr?
我想做与 here 相同的事情,但使用 dplyr 和多一列。
我想通过字符串变量 select 添加一列,但最重要的是我还想 select 通常是第二列。
我需要这个,因为我有一个函数,它 select 由给定参数的几列。
我以下面的代码为例:
library(dplyr)
data(cars)
x <- "speed"
cars %>% select_(x, dist)
您可以对 dist
列使用 quote()
x <- "speed"
cars %>% select_(x, quote(dist)) %>% head
# speed dist
# 1 4 2
# 2 4 10
# 3 7 4
# 4 7 22
# 5 8 16
# 6 9 10
我知道我来晚了一点,但我想我会为其他人添加它。
x <- "speed"
cars %>% select(one_of(x),dist) %>% head()
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16
## 6 9 10
或者这也行
cars %>% select(one_of(c(x,'dist')))
我想做与 here 相同的事情,但使用 dplyr 和多一列。
我想通过字符串变量 select 添加一列,但最重要的是我还想 select 通常是第二列。 我需要这个,因为我有一个函数,它 select 由给定参数的几列。
我以下面的代码为例:
library(dplyr)
data(cars)
x <- "speed"
cars %>% select_(x, dist)
您可以对 dist
列使用 quote()
x <- "speed"
cars %>% select_(x, quote(dist)) %>% head
# speed dist
# 1 4 2
# 2 4 10
# 3 7 4
# 4 7 22
# 5 8 16
# 6 9 10
我知道我来晚了一点,但我想我会为其他人添加它。
x <- "speed"
cars %>% select(one_of(x),dist) %>% head()
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16
## 6 9 10
或者这也行
cars %>% select(one_of(c(x,'dist')))