【发布时间】:2014-09-25 16:20:45
【问题描述】:
我经常使用 d_ply 来制作探索图。
一个简单的例子:
require(plyr)
plot_species <- function(species_data){
p <- qplot(data=species_data,
x=Sepal.Length,
y=Sepal.Width)
print(p)
}
d_ply(.data=iris,
.variables="Species",
function(x)plot_species(x))
这会产生三个独立的地块,每个物种一个。
我想使用 dplyr 中的函数重现此行为。
这似乎需要在 summarise 调用的函数中重新组装 data.frame,这通常是不切实际的。
require(dplyr)
iris_by_species <- group_by(iris,Species)
plot_species <- function(Sepal.Length,Sepal.Width){
species_data <- data.frame(Sepal.Length,Sepal.Width)
p <- qplot(data=species_data,
x=Sepal.Length,
y=Sepal.Width)
print(p)
}
summarise(iris_by_species, plot_species(Sepal.Length,Sepal.Width))
data.frame 的一部分是否可以直接传递给 summarise 调用的函数,而不是传递列?
【问题讨论】: