我想首先将我的x
变量重命名为newX
,然后根据newX
和y
的值改变新的列名z
。将rename和mutate放在同一块中会导致错误。有没有办法使用选项1而不出错?
set.seed(1)
dat <- data.frame(
x = sample(c(0,1), size = 5, replace = TRUE),
y = sample(c(0,1), size = 5, replace = TRUE)
)
# option 1
dat %>%
rename(newX = x) %>%
mutate(z = rowSums(dat[c("newX", "y")] == 1))
# option 2
dat <- dat %>%
rename(newX = x)
dat %>%
mutate(z = rowSums(dat[c("newX", "y")] == 1))
1条答案
按热度按时间3qpi33ja1#
使用
dplyr::pick()
,它允许您从当前 Dataframe 环境中“挑选”变量,而不是dat[c("vars")]
,它在任何转换之前引用dat
对象。