啊啊啊啊啊吖

2018-11-09   阅读量: 715

数据分析师 R语言

R中关于by的一个问题

扫码加入数据分析学习群
> dstats <- function(x)(c(mean=mean(x), sd=sd(x)))
> by(mtcars[vars],mtcars$am, dstats)
Error in is.data.frame(x) :
(list) object cannot be coerced to type 'double'
In addition: Warning message:
In mean.default(x) : argument is not numeric or logical: returning NA
我看R语言实战上面也这么写的。能运行出结果,后来翻阅书籍帮我解决了这个,参考如下:

mean()函数只支持向量,不支持数据框输入。所以自定义函数dstats也不支持数据框输入。
解决办法是将dstats改成如下,就可以了:dstats <- function(x) c(mean=sapply(x,mean), sd=sapply(x,sd))是sd=sapply(x,sd)

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子