Пример моего фрейма данных:
df<- structure(list(Var1 = c("A-01", "A-01", "A-02", "A-01", "A-02",
"A-03", "A-01", "A-02", "A-03", "A-04", "A-01", "A-02", "A-03",
"A-04", "A-05", "A-01", "A-02", "A-03", "A-04", "A-05", "A-07",
"A-01", "A-02", "A-03", "A-04", "A-05", "A-07", "A-08", "A-01",
"A-02"), Var2 = c("A-02", "A-03", "A-03", "A-04", "A-04", "A-04",
"A-05", "A-05", "A-05", "A-05", "A-07", "A-07", "A-07", "A-07",
"A-07", "A-08", "A-08", "A-08", "A-08", "A-08", "A-08", "A-09",
"A-09", "A-09", "A-09", "A-09", "A-09", "A-09", "A-11", "A-11"
), value.data = c(1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1,
-1, -1, 1, NA, -1, 1, 1, -1, -1, -1, 1, -1, 0, 1, -1, 1, 1)), row.names = c(37L,
73L, 74L, 109L, 110L, 111L, 145L, 146L, 147L, 148L, 181L, 182L,
183L, 184L, 185L, 217L, 218L, 219L, 220L, 221L, 222L, 253L, 254L,
255L, 256L, 257L, 258L, 259L, 289L, 290L), class = "data.frame")
Таким образом, каждый раз, когда переменная появляется в «Var1» или «Var2», подсчитывается количество вхождений для различных уникальных значений в «value.data».
Итак, у меня будет сводная таблица, подобная этой:
df_sum<- data.frame(Var = c(rep("A-01", 4), rep("A-02", 4)), value.data = c(rep(c(1, -1, 0, NA), 2)), sum=c(5,3,0,0,4,3,0,1))
Я могу сделать это один за другим по подмножеству.Неэффективен для сотен переменных.
Спасибо