Используйте функцию tapply в кадре данных в R

Вот мой кадр данных df:

x y

1 1 1
2 1 2
3 2 3

И получаю результат:

2
3

с кодом:

постукивание(df$y, df$x, сумма)

Но я рассчитываю получить

3
3

Что-то не так с моим кодом?


person jerry_sjtu    schedule 22.01.2013    source источник
comment
Можете ли вы отредактировать это, чтобы отобразить весь вывод, как указал Джастин?   -  person Carl Witthoft    schedule 22.01.2013


Ответы (1)


Вы получаете правильный ответ, просто неправильно его читая.

посмотрите на весь вывод:

> tapply(df$y, df$x, sum)
1 2 
3 3 

Ваши группы 1 и 2, а значения 3 и 3. Горизонтально. Вы можете увидеть это, если попробуете tapply в другом направлении

> tapply(df$x, df$y, sum)
1 2 3 
1 1 2
person Justin    schedule 22.01.2013