У меня есть набор данных, аналогичный приведенному ниже. Идея заключается в том, что мне нужно использовать цикл для проверки перестановки средних разностей. Моя основная проблема заключается в том, что мне приходится проходить по столбцам в наборе данных, и я не знаю, как.
df = data.frame(matrix(rnorm(10), nrow=5))
category <- rep(c("good", "bad"), c(2, 3))
id <- c(1, 2, 3, 4, 5)
df <- cbind(id, df, category)
id X1 X2 category
1 1 0.5584823 -2.3135133 good
2 2 -0.1115585 0.4731869 good
3 3 -0.7435472 -0.0231894 bad
4 4 -0.6673812 0.7470000 bad
5 5 -1.2959973 0.4255970 bad
Так что мне нужно в основном сделать это в циклах:
merged_df %>% filter(category == "bad") %>% select(X1) %>% summarise(mean_X_bad = mean(X1))
merged_df %>% filter(category == "good") %>% select(X2) %>% summarise(mean_X_good = mean(X1))
Как для X1, так и для X2 (и 98 других переменных X, не показанных здесь).
Таким образом, для каждого X от 1 до 100 мне нужно получить среднее значение X в группе = хорошо, а среднее значение X в группе = плохо, чтобы я мог запустить цикл перестановки средних разностей в значении X между группами для всех X.
Я не знаю, как запустить цикл, который выбирает столбец, отображает его в категорию и возвращает среднее значение этого подмножества. Я предполагаю, что для того, чтобы перестановка была выполнена, мне нужен вектор «хороших» средств и «плохих» средств для сравнения. Итак, я думаю, это должно быть результатом первого цикла?