Я использую вложенные фреймы данных для вложения по определенным группам, а затем запускаю t-тесты для факторов и значений в столбце $ data.Однако для некоторых условий в столбце $ data у меня нет двух доступных факторов.Таким образом, t-тест не может быть запущен, и код выдаст ошибку для всего фрейма данных.В приведенном ниже примере для групп a - d будут доступны оба метода лечения для сравнения.Тем не менее, группа е не будет.как я могу указать, что t-тест должен выполняться только в тех строках, где доступны обе обработки?
set.seed(1)
df <- data.frame(id = paste0('ID-', 1:100),
group = rep(c('a', 'b', 'c', 'd', 'e'), each = 20),
treatment = c(rep(c('x', 'y'), 40), rep('x', 20)),
value = runif(100))
df_analysis <- df %>%
nest(-group) %>%
#How to ask to only run t test on rows that have both treatments in them? As written, it will give an error.
mutate(p = map_dbl(data, ~t.test(value ~ treatment, data=.)$p.value))