plyr软件包中分类变量的平均值。

问题描述 投票:0回答:1

我的分类变量,风险有三组,分别是:ADV、HHM和POV。ADV,HHM和POV

我想得到这三组四个连续变量的平均值 read.5, read.6, read.7read.8 是指五年级至八年级以上的个人阅读成绩。

也就是 ,2:5 我的数据集,这是一个老的教科书例子。我使用了下面的代码,但显然是不正确的,尽管根据教科书的例子,它应该是正确的。

myrisk <- ddply(.data = MPLS[ ,2:5], .variables = .(MPLS$risk),
                .fun = mean, na.rm = TRUE)

我在之前的一段代码中发现了一个错误信息

mymeans <- mean(MPLS[ ,2:5], na.rm = TRUE)

当我上网查的时候,R软件已经换了,我不得不另找一个软件来解决这个问题。

我的问题是。

  1. 我现在想用的ddply函数 是否和旧的平均数函数一样被取代了?

  2. 我如何从四列中得到一个分类变量的均值?是用同一个函数还是用不同的函数?

谢谢您

r statistics plyr categorical-data continuous
1个回答
0
投票

你好,你可以使用 dplyr - 其更多的是最新的。

 df<-data.frame(risk= rep(c("ADV","HHM","POV"),10),
                read.5= rnorm(30,30),
                read.4= rnorm(30,30),
                read.3= rnorm(30,30),
                read.2= rnorm(30,30))
> head(df)
#  risk   read.5   read.4   read.3   read.2
#1  ADV 30.78281 30.00721 29.80906 29.25936
#2  HHM 29.76175 29.63864 29.39256 29.40070
#3  POV 29.00964 30.48258 29.20662 28.77509
#4  ADV 29.60631 30.35032 32.00376 30.70374
#5  HHM 31.38653 30.28896 29.48756 30.32430
#6  POV 30.33102 30.40897 29.55796 30.10585

library(dplyr)

df %>% group_by(risk) %>% summarise_all(mean)

# A tibble: 3 x 5
#  risk  read.5 read.4 read.3 read.2
#  <fct>  <dbl>  <dbl>  <dbl>  <dbl>
1 ADV     30.3   30.2   30.2   30.4
2 HHM     29.7   30.5   29.8   29.9
3 POV     29.3   30.2   29.9   30.2




© www.soinside.com 2019 - 2024. All rights reserved.