1

コードの一部を次に示します。

data <- data.frame(a=runif(20),b=runif(20),subject=rep(1:2,10)) %>%
group_by(subject) %>%
do(distance = dist(.))

#no dplyr
intermediate <- lapply(data$distance,as.matrix)
mean.dists <- apply(simplify2array(intermediate),MARGIN = c(1,2),FUN=mean)

#dplyr
mean.dists <- lapply(data$distance,as.matrix) %>%
apply(simplify2array(.),MARGIN=c(1,2),FUN=mean)

「no dplyr」バージョンが機能し、「dplyr」バージョンが「dim(X) は正の長さでなければなりません」というエラーをスローするのはなぜですか? 彼らは私と同じように見えます。

4

1 に答える 1

3

問題は、パイプラインを完全に実装していないことです。ここで使用していますがmagrittr、問題はほとんど関係ありませんdplyr

data$distance %>% 
   lapply(as.matrix ) %>% 
   simplify2array %>% 
   apply(MARGIN=1:2, FUN=mean)
于 2015-02-20T03:01:33.023 に答える