местоимение данных не работает с dplyr :: lst ()? - PullRequest
1 голос
/ 19 апреля 2020
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.

1 Ответ

1 голос
/ 20 апреля 2020

По предложению @Jake Функция dplyr::lst() находится на стадии жизненного цикла вопросов. Поэтому рекомендуемая функция для этой задачи: rlang::list2().

dplyr::group_by(df, .data$zone) %>% dplyr::summarise(var3 = rlang::list2(.data$value)) %>% dplyr::ungroup() %>% as.data.frame()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...