Использование dplyr для выполнения функций для каждой строки с использованием colnames для группировки
Я действительно плохо знаком с dplyr и вообще использую только базу R.
Я пытался выяснить, как вычислить несколько статистических данных для каждой строки, и пока не справился с этим, это отличается от других вопросов, поскольку я пытаюсь вычислить всю строку - или даже лучше выбрать несколько столбцов в строке для расчета статистики.
Example1:
Матрица отсчетов с именами образцов в столбцах
вход:
cont1 cont2 cont3
1 2 3
55 67 25
выход:
cont1 cont2 cont3 contAVG
1 2 3 2
55 67 25
Первой проблемой было преобразование DF в числовое значение, я включил этот случай, если мне не хватает более простого решения.
data_cont %>%
mutate_each(funs(as.character)) %>%
mutate_each(funs(as.numeric)) %>%
rowwise() %>%
mutate(avg= mean(.))
Здесь я просто надеюсь получить среднее значение по всем столбцам, в идеале я бы хотел вычислить несколько разных характеристик, т.е. min,max,sd для каждой строки.
Пример 2
Исходная таблица содержит несколько различных условий, 200+ столбцов, т.е.
вход:
contV1 wtV3 contV4 wtV5 trV8 trV9 ...... contV180
1 4 2 0 66 89 289
выход:
contV1 wtV3 contV4 wtV5 trV8 trV9 ...... contV180 contAVG wtAVG trAVG
1 4 2 0 66 89 289 x y z
Можно ли рассчитать статистику по строке для разных столбцов, используя совпадения, чтобы сгруппировать их, не разбивая на более мелкие матрицы? Это привело бы к получению окончательной матрицы с 3 дополнительными столбцами, показывающими средние значения для всех образцов по сравнению с контрольной массой.
Я понимаю, что могу использовать apply()
из базы R, но я очень надеюсь, что есть более эффективный способ использования dplyr.