繁体   English   中英

如何重命名复杂的公式?

[英]How to rename a complicated formula?

假设我有一个公式y~x1+x2+I( (x1==x2)*x3 )并估计一个线性模型

summary(lm(y~x1+x2+I( (x1==x2)*x3 ), data=some_data ))
Coefficients:
                   Estimate Std. Error t value Pr(>|t|)  
(Intercept)          3.6027     1.6069   2.242   0.0662 .
x1                   1.8685     1.9769   0.945   0.3811  
x2                   2.6041     2.0286   1.284   0.2466  
I((x1 == x2) * x3)   0.5666     1.5456   0.367   0.7265  

除了创建一个新的'data.frame'之外,是否有任何方法可以修改公式,以便汇总表成为

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)  
(Intercept)          3.6027     1.6069   2.242   0.0662 .
x1                   1.8685     1.9769   0.945   0.3811  
x2                   2.6041     2.0286   1.284   0.2466  
some_name            0.5666     1.5456   0.367   0.7265  

withinwithin使用可以破解一些东西。

代替:

summary(lm(Sepal.Length ~ I(Sepal.Width * Petal.Length), data=iris))

#...
#(Intercept)                   4.252934   0.069396   61.28   <2e-16 ***
#I(Sepal.Width * Petal.Length) 0.142483   0.005632   25.30   <2e-16 ***
#...

您可以使用:

summary(lm(Sepal.Length ~ newvar, data=
         within(iris, newvar <- Sepal.Width * Petal.Length))) 

#...
#(Intercept) 4.252934   0.069396   61.28   <2e-16 ***
#newvar      0.142483   0.005632   25.30   <2e-16 ***
#...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM