Использование 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.

0 ответов

Другие вопросы по тегам