0
我有一个关于dplyr的问题。当给定的数据帧my_data这两个语句之间有什么区别(R/dplyr)
library(dplyr)
set.seed(20160229)
my_data = data.frame(
y=c(rnorm(1000), rnorm(1000, 0.5), rnorm(1000, 1), rnorm(1000, 1.5)),
x=c(rep('a', 2000), rep('b', 2000)),
m=c(rep('i', 1000), rep('j', 2000), rep('i', 1000)))
壳体1:
pdat <- my_data %>%
group_by(x, m) %>%
do(data.frame(loc = density(.$y)$x,
dens = density(.$y)$y))
和 壳体2:
pdat <- my_data
pdat <- group_by(my_data, x, m)
do(data.frame(pdat,loc=density(pdat$y)$x),dens=density(pdat$y)$y)
为什么这些语句不同?如何改变案例2以匹配案例1?
感谢您的及时回复。当我评估 do(.data = pdat,as.data.frame(loc = density(。$ y)$ x,dens = density(。$ y)$ y)) 引发以下错误 Error in as.data.frame(,loc = density(。$ y)$ x,dens = density(。$ y)$ y): 参数“x”丢失,没有默认值 当我指定x为as时。 data.frame do(.data = pdat,as.data.frame(x = pdat,loc = density(。$ y)$ x,dens = density(。$ y)$ y)) 函数被评估,但a和b不同(a [8192 x 4],b [2048 x 4]。 这是关于什么? – bigFin
@FinlaySmall对不起,复制粘贴backfire。应该不是'as.data.frame',而是'数据.frame'!谢谢。 –
好2去,TY! – bigFin