Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用转换变量计算方差分析_R_Anova - Fatal编程技术网

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)