You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用melt函数后运行ANOVA测试报错:object 'W' not found

问题排查:ANOVA测试报错"object 'W' not found"

报错信息

Error in eval(predvars, data, env) : object 'W' not found

问题根源

你的代码中调用aov()函数时,数据参数传递错误:

AnovaTest<- aov(W~A,data.frame="ALL")

这里的data.frame="ALL"是错误写法:data.frame()是构造数据框的函数,传入字符串"ALL"会生成一个全新的无效数据框,而非引用你之前用melt()生成的ALL数据集。aov函数无法从这个无效数据框中找到变量W,因此报错。

修正方案

将aov()的调用代码修改为:

AnovaTest<- aov(W~A, data = ALL)

直接通过data = ALL指定已有的数据集即可。

另外,代码中reshape2::melt这一行是多余的,可删除(不影响运行,但能简化代码)。

完整修正后代码

rm(list=ls())

Measurements=matrix(c(1.4,1.6,1.8,2.4,2.1,2.1,2.3,2.4,2.6,2.7,2.5,2.1,1.2,1.9,2.0,2.4,2.2,2.2,2.3,2.3,2.3,2.0,2.2,2.3,1.0,1.3,1.8,2.0,2.1,2.0,2.1,2.4,2.4,2.5,2.3,2.1,2.2,2.9,3.2,3.9,3.5,3.6,3.3,3.6,3.4,3.6,3.8,4.0,2.3,3.2,3.9,4.0,4.0,4.1,3.9,4.0,3.9,3.7,3.9,4.1,1.3,1.7,1.9,2.3,2.2,2.1,2.2,2.3,2.2,2.3,2.5,2.6,3.1,3.2,3.9,4.7,4.3,4.1,4.3,4.5,4.3,4.4,4.8,5.0,3.5,3.8,3.9,5.4,5.1,5.0,5.2,5.4,5.5,5.4,5.5,5.8,2.0,2.3,2.8,3.6,3.4,3.3,3.3,3.6,3.7,3.6,3.7,3.8),nrow=36)

colnames(Measurements)=c("Rest","Walk","Play")

Measurements=data.frame(Measurements)

write.csv(Measurements,"TanyaG_Measurements_data.csv")

Measurements

boxplot(Measurements,ylab="Ounces",xlab="Dogs_Activity",main="Water_Intake",notch=FALSE)

install.packages("reshape2")

library(reshape2)

ALL<-melt(Measurements,variable.name="A",value.name="W")

ALL

AnovaTest<- aov(W~A, data = ALL)

summary(AnovaTest)

内容的提问来源于stack exchange,提问作者Tanya Gleason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:40:32