这是我的代码:
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
我错过了什么?
答案 0 :(得分:2)
使用最新版本的tidyverse函数时,不鼓励使用函数的下划线版本进行标准评估,而是使用rlang函数语法。在这种情况下,您可以使用
gather(messy, "drug", "heartrate", (!!as.name("a")):(!!as.name("b")))