全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3984 7
2020-03-18
各位老师,还有一个问题,再用tapply及aggravate分别求某一列均值及标准差的时候,为什么转为数据框后,两个函数得到的结果要么是3行1列,要么是3行2列,怎么弄成3行3的呢,求各位老师指点…谢谢
123.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-3-18 22:49:00
tapply和aggregate的确很麻烦。不如这样:
复制代码
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-3-18 22:52:46
这是由tapply和aggregate两个函数的输出结果决定的。与其去拆分它们的结果,不如在计算过程中定义两列,而不是用each函数来套装。

library(plyr)   #方法一
ok = ddply(iris,~Species,summarise,mean=mean(Sepal.Length),sd=sd(Sepal.Length))

# detach("package:plyr", unload = TRUE)
library(dplyr)  #方法二
ok = iris %>%
  group_by(Species) %>%
  summarise(mean=mean(Sepal.Length), sd=sd(Sepal.Length))

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-3-18 22:53:07
caozhaowen 发表于 2020-3-18 22:49
tapply和aggregate的确很麻烦。不如这样:
嗯嗯,我一直都是用的group_by衔接summarize函数,但是感觉用了R好久了,想尝试下新的写法,结果就碰到问题了,如果这俩函数那么麻烦,那以后就不用它俩了,哈哈
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-3-18 22:56:42
可以使用plyr::ddply
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-3-18 22:58:39
rosenbloog 发表于 2020-3-18 22:52
这是由tapply和aggregate两个函数的输出结果决定的。与其去拆分它们的结果,不如在计算过程中定义两列,而不 ...
谢谢,想再问你一句,tapply和aggregate函数一般什么时候用呢,它俩的长处是什么呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群