使用d_plyr进行多个绘图操作
我发现了plyr,正在玩一个例子,但不明白为什么它不起作用:我有一个10(x,y)坐标的数据帧,想一个接一个地绘制这些点使用d_plyr进行多个绘图操作,r,plot,dplyr,plyr,R,Plot,Dplyr,Plyr,我发现了plyr,正在玩一个例子,但不明白为什么它不起作用:我有一个10(x,y)坐标的数据帧,想一个接一个地绘制这些点 ## Creating the data df <- data.frame(a=rnorm(10),b=rnorm(10)) ## Empty plot plot(0, xlim=c(-2,2), ylim=c(-2,2)) ## Function to be repeated plot.pts <- function(x){ points(x$a,x$b) }
## Creating the data
df <- data.frame(a=rnorm(10),b=rnorm(10))
## Empty plot
plot(0, xlim=c(-2,2), ylim=c(-2,2))
## Function to be repeated
plot.pts <- function(x){
points(x$a,x$b)
}
## Magic d_plyr
d_ply(df,plot.pts)
我知道d_ply是在这种情况下要使用的函数,因此我做错了什么?因为您并不是真正根据变量将数据帧划分为组,只是为每行调用一个函数,我认为
a_ply
比d_ply
更适合:
a_ply(df,.margins = 1, .fun = plot.pts)
在原始的
d\u ply
调用中,您传递了函数,其中.variables
参数告诉d\u ply
如何对数据进行分组,这会给您带来错误。因为您并没有真正根据变量将数据帧划分为组,只是为每一行调用一个函数,我认为a层比d层更合适:
a_ply(df,.margins = 1, .fun = plot.pts)
在原始的
d\u ply
调用中,您传递了函数,其中.variables
参数告诉d\u ply
如何对数据进行分组,并给出了该错误。您将使用以下命令得到相同的结果:plot.pts(df)
当然,但这不是重点,我想用一种我能很容易理解的方式来玩d_ply,你会得到同样的结果:plot.pts(df)
当然,但这不是重点,我想用一种我能很容易理解的方式来玩d_ply谢谢马吕斯,margin=1的意思是什么?我在@xavierpudent Dataframes中找不到这个选项,它有两个维度:行和列。提供.margins=1
告诉a_ply
沿行而不是沿列工作。您的意思是.margins=2将沿列应用函数吗?谢谢马吕斯。margin=1的含义是什么?我在@xavierpudent Dataframes中找不到这个选项,它有两个维度:行和列。提供.margins=1
告诉a_ply
沿行而不是沿列工作。您的意思是.margins=2将沿列应用该函数吗?