У меня есть data.frame
со средней и стандартной ошибкой для двух переменных: var1
и var2
.Обработка данных.файла от «широкого» до «длинного» формата для построения сред и стандартных ошибок
Это data.frame
, original_df
, пришли от создания этих статистических данных из данных для каждой из двух групп:
original_df <- data.frame(group_dummy_code = c(0, 1),
var1_mean = c(1.5, 2.5),
var1_se = c(.025, .05),
var2_mean = c(3.5, 4.5),
var2_se = c(.075, .1))
> original_df
group_dummy_code var1_mean var1_se var2_mean var2_se
1 0 1.5 0.025 3.5 0.075
2 1 2.5 0.050 4.5 0.100
Я пытаюсь использовать функцию tidyr
gather()
изменить data.frame
в desired_df
, чтобы Заговор средство от двух переменных и стандартные ошибки:
desired_df <- data.frame(group_dummy_code = c(0, 1, 0, 1),
key = c("var1", "var1", "var2", "var2"),
val_mean = c(1.5, 2.5, 3.5, 4.5),
val_se = c(.025, .05, .075, .1))
> desired_df
group_dummy_code key val_mean val_se
1 0 var1 1.5 0.025
2 1 var1 2.5 0.050
3 0 var2 3.5 0.075
4 1 var2 4.5 0.100
я пытался gather()
дважды со следующим:
df %>%
gather(mean_key, mean_val, -group_dummy_code, -contains("se")) %>%
gather(se_key, se_val, -group_dummy_code, -mean_key, -mean_val)
Но это приводит к слишком большим количеством строк (в частности, с несколькими стандартными ошибками для каждого среднего):
group_dummy_code mean_key mean_val se_key se_val
1 0 var1_mean 1.5 var1_se 0.025
2 1 var1_mean 2.5 var1_se 0.050
3 0 var2_mean 3.5 var1_se 0.025
4 1 var2_mean 4.5 var1_se 0.050
5 0 var1_mean 1.5 var2_se 0.075
6 1 var1_mean 2.5 var2_se 0.100
7 0 var2_mean 3.5 var2_se 0.075
8 1 var2_mean 4.5 var2_se 0.100
Это кажется довольно общий шаг обработки, особенно после создания статистики для среднее и стандартное отклонение для ряда переменных, но gather()
ing дважды - один раз для среднего значения и один раз для стандартных переменных ошибки - не похоже на хороший подход.
Использование tidyr
(или dplyr
или другой пакет), как я могу создать desired_df
от original_df
?
Смотрите также [Перестройка несколько наборов измерений столбцы (широкий формат) в отдельные столбцы (длинный формат)] (http://stackoverflow.com/questions/12466493/reshaping-multiple-sets-of-measurement-columns-wide-format-into-single-columns) – Henrik