У меня есть блок данных, содержащий несколько наблюдений из контрольной и экспериментальной когорт с репликациями для каждого объекта.Как связать строки в кадре данных со многими столбцами, используя dplyr в R?
Вот пример моего dataframe:
subject cohort replicate val1 val2
A control 1 10 0.1
A control 2 15 0.3
A experim 1 40 0.7
A experim 2 45 0.9
B control 1 5 0.3
B experim 1 30 0.0
C control 1 50 0.5
C experim 1 NA 1.0
Я хотел бы пару каждого наблюдения управления с его соответствующим экспериментальными одному для каждого значения для вычисления отношения между парами. Нужный результат будет выглядеть примерно так:
subject replicate ratio_val1 ratio_val2
A 1 4 7
A 2 3 3
B 1 6 0
C 1 NA 2
В идеале я хотел бы, чтобы это реализовать с dplyr и труб.
Точно, что я искал, @akrun! Я вижу, что group_by дает только одну строку в каждой группе. Таким образом, альтернативой будет «df1%>% gather (Var, Val, val1: val2)%>% спрэд (когорт, вал)%>% мутировать (соотношение = эксперимент/контроль)%>% select (-control, -experim)%>% спрэд (Var, ratio) ' – Irakli
потрясающий и проработан! – Irakli