Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用d_plyr进行多个绘图操作_R_Plot_Dplyr_Plyr - Fatal编程技术网

使用d_plyr进行多个绘图操作

使用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) }

我发现了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)
}
## 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将沿列应用该函数吗?