【发布时间】:2017-02-20 00:34:06
【问题描述】:
我正在尝试在 R 中使用聚合。我找到了一个示例代码:
attach(mtcars)
agg=aggregate(mtcars, by=list(cyl,vs),FUN=mean, na.rm=TRUE)
detach(mtcars)
这很好用。但是,当我尝试使用我的数据进行操作时:
library(stats)
FileName="Raw.csv"
Raw=read.csv(FileName,header = TRUE)
Acc1=aggregate(Raw,by=list(Experiment,SsNum),FUN=mean, na.rm=TRUE)
我收到以下错误消息:
aggregate.data.frame 中的错误(Raw,by = list(Experiment,SsNum),FUN = mean,找不到对象“实验”
我也尝试运行:Acc2=aggregate(Raw,by=list(Raw$Experiment,Raw$SsNum),FUN=mean, na.rm=TRUE)
我收到以下错误:
有 50 个或更多警告(使用 warnings() 查看前 50 个)
警告是: 1:在 mean.default(X[[i]], ...) 中: 参数不是数字或逻辑:返回 NA
我的主要问题是 Acc1 与在线示例有何不同(效果很好)。
非常感谢
爱丽儿
【问题讨论】:
-
在第一个参数中,您提供了完整的数据集,您应该为
mean所需的列设置子集 -
回答你的主要问题:区别是
attach(..) ... detach()。顺便说一句:attach()的使用很危险。 -
为了帮助其他人复制您的问题,我建议使用
dput(head(Raw,5))的输出更新帖子