У меня такой большой df, как это (это только часть его). Для каждого образца (A, B, C. и т. Д. У меня их сто). У меня есть 3 значения (R, H и L).rowMeans со всеми столбцами, которые разделяют строку
IDs R.A R.B R.C H.A H.B H.C L.A L.B L.C
A 6 5 4 5 5 5 5 1 4
B 2 5 3 3 4 3 5 5 6
C 6 6 3 2 2 1 4 1 3
D 2 1 6 3 5 3 3 6 5
E 4 1 3 2 3 1 4 4 4
F 3 1 1 1 4 4 2 6 4
Я хочу, чтобы создать новый ДФ с rowMeans
для каждого образца, в этом примере:
IDs mean.A mean.B mean.C
A 3.0 5.0 3.0
B 5.7 5.3 4.7
C 3.0 4.7 4.7
D 3.0 1.7 5.3
E 3.3 4.0 4.3
F 4.0 2.3 4.0
Я знаю, как это сделать для этого примера, но у меня есть сотни из них, и я не может это сделать, указав строку вручную (A, B, C).
newcols <- sapply(c("A$", "B$", "C$"), function(x) rowMeans(df[grep(x, names(df))]))
setNames(cbind(df[1], newcols), c(names(df)[1], "mean.A", "mean.B", "mean.C"))
Есть ли способ сделать операцию со всеми столбцами, которые разделяют «строку» без указания «строки»?
@akrun - совсем нет - я вижу, что это очень чистое в data.table – thelatemail