数据代词不适用于dplyr :: lst()?

问题描述 投票:1回答:1
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的可见绑定。

r dplyr rlang
1个回答
1
投票

如@Jake所建议dplyr::lst()功能处于生命周期质疑阶段。因此,此任务的推荐功能为rlang::list2()

dplyr::group_by(df, .data$zone) %>% dplyr::summarise(var3 = rlang::list2(.data$value)) %>% dplyr::ungroup() %>% as.data.frame()
© www.soinside.com 2019 - 2024. All rights reserved.