У меня есть простой вопрос, но я не могу понять, как достичь желаемого результата в dplyr / tidyr.
Я только что вычислил итоговый фрейм данных следующим образом:
results <- df_long %>%
group_by(question,imputed_liberal, question_text) %>%
summarize(Accuracy = mean(score, na.rm = T), Reaction_Time = mean(reation_time, na.rm = T), Number = n())
Каждый вопрос повторяется в двух строках, одна для imputed_liberal = T, другая для imputed_liberal = F и столбцы для точностии время реакции
question imputed_liberal question_text Accuracy Reaction_Time Number
1 10 F How many... 0.750 61.4 16
2 10 T How many... 0.429 55.9 14
Я хотел бы свести обе эти строки в одну (поэтому по одной строке на вопрос) со столбцами «консервативная точность» (вменяется либерал = F), «либеральная точность», «консервативная реакция».время "и" либеральное время реакции ".
Я подумал, что spread
был правильным подходом, но не смог понять, как распределить по двум значениям (точность и время реакции).
моя попытка:
results <- results %>%
filter(!is.na(Accuracy)) %>%
spread(results, key = imputed_liberal, value = c(Accuracy, Reaction_time))
Выдает ошибку, потому что вы не можете иметь два значения в спреде.