R 使用转换变量计算方差分析
我有一个数据帧R 使用转换变量计算方差分析,r,anova,R,Anova,我有一个数据帧df df<-structure(list(Y = c(1.20167297867875, 1.27851224829923, 1.18763208884216, 1.23765309504143, 1.30246129512516, 1.19258132417647, 1.17015215455443, 1.16756342150402, -0.000206480999730317, 0.292683228844456), P = c(1750.5198630
df
df<-structure(list(Y = c(1.20167297867875, 1.27851224829923, 1.18763208884216,
1.23765309504143, 1.30246129512516, 1.19258132417647, 1.17015215455443,
1.16756342150402, -0.000206480999730317, 0.292683228844456),
P = c(1750.51986303926, 1614.11541634798, 951.847023338079,
1119.3682884872, 1112.38984390156, 1270.65773075982, 1234.72262170166,
1338.46096616983, 458.433428257704, 1198.95775346458), TA = c(9.10006221322572,
7.65505467142961, 8.21480062559674, 8.09251754304318, 8.466220758789,
8.48094407814006, 8.77304120569444, 8.31727518543397, 10.4412463804413,
8.14410265791868), A = c(49, 50, 51, 52, 53, 54, 55, 56,
0, 1)), .Names = c("Y", "P", "TA", "A"), row.names = 2803:2812, class = "data.frame")
其中,函数表示变量y=0.384394*(A^0.341429)*(exp(-0.004749*A)
我的线性模型是这样的
lm2<-lm(y~P+TA+ my transform A, data=df)
lm2你基本上已经完成了所有的工作。只需用你的函数修改A列,然后重新运行方差分析
df2=df
df2$A<-f1(df$A)
df2
lm2 <- lm(Y~ P + TA + A, data=df)
Anova2<-aov(lm2)
summary(Anova2)
df2=df
下面@ccurtis提到的df2$AAs,您已经这样做了。不过,我建议您没有理由为该转换编写函数。只需df$A2,但这样做,我就用我的值Y的转换来替换我的值a,对吗?因为我的函数是:Y=0.384394*(a^0.341429)*(exp(-0.004749*$a)。不知何故,我需要这个函数的倒数,使A作为Y的函数。或者我可以在我的线性模型中说,P+TA~Y和P~f1(Y)?听起来像是一个数学问题。试试Wolfram alpha.*%28A%5E0.341429%29*%28exp%28-0.004749+*A%29%29+,但它没有给出A=f(Y)。
lm2<-lm(y~P+TA+ my transform A, data=df)
df2=df
df2$A<-f1(df$A)
df2
lm2 <- lm(Y~ P + TA + A, data=df)
Anova2<-aov(lm2)
summary(Anova2)