Кажется, здесь отсутствует какая-то ссылка. У меня есть кадр данныхСтолбец суммирует совпадающие значения с другим столбцом
df<-data.frame(w=sample(1:3,10, replace=T), x=sample(1:3,10, replace=T), y=sample(1:3,10, replace=T), z=sample(1:3,10, replace=T))
> df
w x y z
1 3 1 1 3
2 2 1 1 3
3 1 3 2 2
4 3 1 3 1
5 2 2 1 1
6 1 2 2 3
7 1 2 2 2
8 2 2 2 3
9 1 3 3 3
10 2 2 1 1
Я хочу, чтобы получить количество строк каждого столбца, который соответствует к 1-й столбец.
sum(df$w==df$x)
[1] 3
sum(df$w==df$y)
[1] 2
sum(df$w==df$z)
[1] 1
Я знаю, что применяя применение, я могу совершать обходные или обходные операции.
apply(df,2,length)
w x y z
10 10 10 10
Как объединить эти две функции?
Вы можете комбинировать их с помощью 'применить (ДФ [-1], 2, функция (сл) сумма (DF [, 1] == cl)) ', но решение Дэвида должно быть более эффективным, особенно на больших наборах данных. –