Трубная операция dplyr R с объектом вернула список - PullRequest
3 голосов
/ 13 января 2020

Я пытаюсь вычислить значение согласования (используя пакет epiR) между измеренным и предсказанным для каждой группы с использованием операции dplyr pipe. Мой пример кода ниже

measured <- c(23, 20, 24, 26, 23, 46, 47, 45, 47, 46, 67, 68, 64, 63, 63)
predicted <- c(21, 19, 25, 23, 25, 48, 45, 46, 48, 46, 67, 68, 64, 63, 63)
gdata <- cbind(replicate, measured, predicted)
gdata <- as.data.frame(gdata)
head(gdata)
gdata$replicate <- as.factor(gdata$replicate)
test <- gdata %>% 
group_by(replicate) %>%
mutate(tt <- epiR::epi.ccc(gdata$measured, gdata$predicted))

Что я хочу, это извлечь значение tt $ rho $ est, которое возвращается в списке для каждой группы в этом случае реплицировать. Однако я получаю ошибку. Он работает вне операции канала, используя приведенный ниже код. Любая помощь приветствуется.

tt <- epi.ccc(bootdata$CalCut_DRY, bootdata$Predicted)   
tt$rho.c$est

1 Ответ

3 голосов
/ 13 января 2020

Вы можете попробовать:

library(dplyr)

gdata %>% 
 group_by(replicate) %>%
 mutate(tt = epiR::epi.ccc(measured, predicted)$rho.c$est)

Если значение rho.c$est для группы одинаково, то вы, вероятно, можете использовать summarise вместо mutate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...