R: частота подсчета для использования на уровне графика - PullRequest
1 голос
/ 14 сентября 2011

У меня есть ряд точек в data.frame с дублированием. Я хотел бы построить их, используя график уровня, и использовать в качестве частоты Z x, y (например, сколько раз для x = 1 было y = 2). Как я могу это сделать? Мне легко объяснить себя с помощью синтаксиса SQL:

 SELECT x, y, count(*) from data_frame GROUP BY x, y

:)

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Эти виды суммирования фрейма данных по группам, определенным переменными, очень распространены в R. Многие функции * pply будут работать.В наши дни стандартным ответом является использование ddply из пакета plyr:

ddply(data_frame,.(x,y),summarise,total = NROW(piece))

В общем, вы действительно должны изучить пакет plyr вместе со всеми базовыми функциями *pply.

Но если вам удобнее использовать SQL, вы можете рассмотреть пакет sqldf, который позволяет выполнять множество манипуляций с фреймами данных непосредственно с SQL.

1 голос
/ 14 сентября 2011

Я не сомневаюсь, что многие люди получают хорошие результаты с помощью функций plyr, но это действительно вопрос, на который легко ответить одним из tapply, table или ave в зависимости от неустановленных потребностей в этом результат. И tapply, и table могут привести к таблицам сопряженности, которые на самом деле являются матрицами или массивами и поэтому очень легко доступны.

with( data_frame, table( x , y ) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...