library(dplyr)
zone <- c(rep(10,4), rep(20, 4), rep(30, 4))
value <- c(4.5,4.3,4.6, 5,5, rep(3,7)) + round(rnorm(12, sd = 0.1),1)
df <- data.frame(zone, value)
# Works
dplyr::group_by(df, .data$zone) %>% dplyr::summarise(var3 = dplyr::lst(value)) %>% dplyr::ungroup() %>% as.data.frame()
# Error
dplyr::group_by(df, .data$zone) %>% dplyr::summarise(var3 = dplyr::lst(.data$value)) %>% dplyr::ungroup() %>% as.data.frame()
是否有解决此问题的方法?否则,如果我使用裸名value
,则会在R CMD check
中得到警告,该值没有全局变量value
的可见绑定。
如@Jake所建议dplyr::lst()
功能处于生命周期质疑阶段。因此,此任务的推荐功能为rlang::list2()
。
dplyr::group_by(df, .data$zone) %>% dplyr::summarise(var3 = rlang::list2(.data$value)) %>% dplyr::ungroup() %>% as.data.frame()