首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ddply如何拆分数据?

ddply如何拆分数据?
EN

Stack Overflow用户
提问于 2019-04-17 00:42:00
回答 1查看 0关注 0票数 0

我有这个数据框。

代码语言:javascript
复制
mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
                  ,c(1,2,3,10,20,30),
                  c(5,10,20,20,15,10))
colnames(mydf)<-c("Model", "Class","Length", "Speed")

我正在努力更好地了解ddply的工作原理。

我想得到每个模型和类配对的平均长度和速度。

我知道这是一种方法:ddply(mydf, .(Model, Class), .fun = summarize, mSpeed = mean(Speed), mLength = mean(Length))

我想知道我是否可以使用ddply获得平均值,而不是一次指定一个。

我试过ddply(mydf, .(Model, Class), .fun = mean)但是我得到了错误

警告消息:1:在mean.default(piece,...)中:参数不是数字或逻辑:返回NA

什么ddply传递给函数参数?有没有办法将一个函数应用于每个列ddply

我的目标是了解更多ddply。我只会接受答案ddply

EN

回答 1

Stack Overflow用户

发布于 2019-04-17 10:02:15

这是使用dplyrsummarize功能的解决方案。

代码语言:javascript
复制


library(dplyr)


mydf<- data.frame(c("a","a","b","b","c","c"),c("e","e","e","e","e","e")
                  ,c(1,2,3,10,20,30),
                  c(5,10,20,20,15,10))
colnames(mydf)<-c("Model", "Class","Length", "Speed")

#summarize data by Model & Class
mydf %>%  group_by(Model, Class) %>% summarize_if(is.numeric, mean)


#> # A tibble: 3 x 4
#> # Groups:   Model [3]
#>   Model Class Length Speed
#>   <fct> <fct>  <dbl> <dbl>
#> 1 a     e        1.5   7.5
#> 2 b     e        6.5  20  
#> 3 c     e       25    12.5

reprex包创建于2019-04-16 (v0.2.1)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档