还有一个tidyr,收集和使用变量

时间:2017-12-04 20:24:17

标签: r variables tidyr

这是我的代码:

library(tidyr)

messy <- data.frame(
  name = c("Wilbur", "Petunia", "Gregory"),
  a = c(67, 80, 64),
  b = c(56, 90, 50)
)

我想将gather函数与变量/函数结果一起使用。借用from我试过了:

not_messy <-messy %>%
  gather_('drug', 'heartrate', paste0('a',''):paste0('b',''))

但它产生了错误:

Error in paste0("a", ""):paste0("b", "") : NA/NaN argument
In addition: Warning messages:
1: In lapply(.x, .f, ...) : NAs introduced by coercion
2: In lapply(.x, .f, ...) : NAs introduced by coercion

我错过了什么?

1 个答案:

答案 0 :(得分:2)

使用最新版本的tidyverse函数时,不鼓励使用函数的下划线版本进行标准评估,而是使用rlang函数语法。在这种情况下,您可以使用

gather(messy, "drug", "heartrate", (!!as.name("a")):(!!as.name("b")))