У меня есть такие данные
df<- structure(list(X1 = c(37L, 36L, 35L, 35L, 35L, 34L, 29L, 28L,
28L, 26L, 25L, 24L), X2 = c(40L, 44L, 49L, 41L, 0L, 0L, 0L, 25L,
26L, 37L, 0L, 22L), M1 = c(60L, 55L, 47L, 46L, 36L, 42L, 25L,
0L, 33L, 42L, 50L, 22L), M2 = c(19L, 0L, 32L, 44L, 27L, 31L,
17L, 0L, 18L, 45L, 10L, 11L)), class = "data.frame", row.names = c(NA,
-12L))
Я хочу сравнить каждую пару столбцов
1 with 2
1 with 3
1 with 4
2 with 3
2 with 4
Я хочу знать, какие строки и сколько строк в столбце 1 имеют значения(кроме 0) по сравнению с другими столбцами То же самое для остальных тоже
например
X1 имеет 12 значений, строка 5,6,7, 11 имеет значения, а X2 не строка 8, имеетзначение, в то время как M1 не имеет строки 2, а 8 имеет значения, в то время как M2 не имеет значения
Таким образом, вывод будет таким:
Total X1+ X1- X2+ X2- M1+ M1- M2+ M2-
X1 12 0 0 4 0 2 0 1 0
X2 8 0 4 0 0 1 4 2 4
M1 11 0 1 4 1 0 0 1 0
M2 10 0 2 4 2 0 1 0 0
Чтобы вычислить сумму для каждого столбца, я могу сделать следующее
colSums(df != 0)
Я пытался работать с df$X1[df$X1 %in% df$X2]
для остальных, но я не мог понять, как сделать такой вывод