Uing R, я хочу подсчитать количество вхождений в двух переменных двумя другими переменными; IDS и год. Одна из подсчитанных переменных должна быть подсчитана по уникальному значению. Я действительно оглянулся, чтобы ответить на это, но я не могу найти его. У меня есть набор данных, как это (хотя в том числе и многие другие переменные):Как считать вхождения нескольких переменных по различным критериям и сгруппированы по двум переменным
IDS = c(1,1,1,1,1,1,2,2)
year = c(1,1,1,1,1,2,1,1)
x = c(5, 5, 5, 10, 2, NA, 3, 3)
y = c(1, 2, 4, 0, NA, 2, 0, NA)
dfxy = data.frame(IDS, year, x, y)
dfxy
IDS year x y
1 1 1 5 1
2 1 1 5 2
3 1 1 5 4
4 1 1 10 0
5 1 1 2 NA
6 1 2 NA 2
7 2 1 3 0
8 2 1 3 NA
Я хочу, чтобы подсчет количества вхождений в двух столбцах х и у каждого по IDS и каждый год. Счет в x должен быть уникальным значением x. Я хочу, чтобы выход, как это:
IDS year x y
1 1 1 3 4
2 1 2 0 1
3 2 1 1 1
Это похоже на ответ с cbind в
Aggregate/summarize multiple variables per group (i.e. sum, mean, etc)
который для меня будет выглядеть
aggregate(cbind(x, y)~IDS+year, data=dfxy, ???)
НС не считается не встречаемость, любое число считается вхождением в y, в x каждое уникальное вхождение должно учитываться (пока оно не является NA). Нет строк с NA как в x, так и в y. Я попытался использовать длину вместо суммы, но это только, кажется, суммирует количество строк одинаково для x и y.
Идеи или ссылки Я могу найти ответ на этот вопрос? Благодаря
Я предполагаю, 2-е значение «х» равно 0, как нет не-NA элементов – akrun
Действительно, исправленные в настоящее время. – Lisarv