我有一个带重复的data.frame中的点数列。我想使用level plot来绘制它们,并将其用作x,y的Z频率(例如,x=1有多少次y= 2)。我该怎么做呢?我可以很容易地用SQL语法来解释:
SELECT x, y, count(*) from data_frame GROUP BY x, y:)
发布于 2011-09-14 08:39:09
这种由变量定义的分组汇总数据帧在R中非常常见。许多*pply函数都可以工作。这些天的标准回应是使用plyr包中的ddply:
ddply(data_frame,.(x,y),summarise,total = NROW(piece))一般来说,您应该真正学习plyr包,以及所有基本的*pply函数。
但是,如果您对SQL比较熟悉,可以考虑看看sqldf包,它允许您直接使用SQL对数据框进行大量此类操作。
发布于 2011-09-14 09:32:52
我不怀疑许多人使用plyr函数会得到很好的结果,但这确实是一个很容易回答的问题,可以用tapply、table或ave中的一个来回答,这取决于对此结果的未声明需求。tapply和table都会生成列联表,这些表实际上是矩阵或数组,因此非常容易访问。
with( data_frame, table( x , y ) )https://stackoverflow.com/questions/7409902
复制相似问题