全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
16655 7
2013-11-25
悬赏 20 个论坛币 已解决
一共16个因素x1~x16,分别对y进行一元回归,r1=lm(y~x1);r2=lm(y~x2);……r16=lm(y~x16);
然后summary(r1);summary(r2);……summary(r16);
r程序运行结果是16个格式如下的结果
> summary(r13);
Call:
lm(formula = y ~ x13)
Residuals:
    Min      1Q  Median      3Q     Max
-42.416 -10.935  -4.618  12.309  82.417
Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)   25.163     14.010   1.796   0.0862 .
x13           -4.780      3.202  -1.493   0.1497  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 28.65 on 22 degrees of freedom
Multiple R-squared: 0.09197,    Adjusted R-squared: 0.0507
F-statistic: 2.228 on 1 and 22 DF,  p-value: 0.1497

目标就是上面蓝色的数字P值0.1497
请问有没有一段程序能够直接得到16个P值,而不用一个个复制粘贴到excel中得到?
谢谢!

最佳答案

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-11-25 18:45:01
pvalues <- rep(NA, 16)
for (i in 1:16) pvalues[i] <- summary(get(paste("r", i, sep = "")))$coefficients[2, 4]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 18:53:28
summary(r13)$coefficients[2, 4]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 19:04:06
qoiqpwqr 发表于 2013-11-25 18:53
summary(r13)$coefficients[2, 4]
多谢!
但是,能不能直接用一个向量a来表示这16个数字?
我试图这样写了一下:
a=NULL;
for(i in seq(1,16)){
a=summary(ri)$coefficients[2, 4];
}
但是 ri这种表示明显不对,请问应该怎样操作?
再谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 19:06:40
qoiqpwqr 发表于 2013-11-25 18:58
pvalues
哦!  这就ok啦!  谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-25 19:38:18
qoiqpwqr 发表于 2013-11-25 18:45
pvalues
请问大神
tcl01<-scan("F:/tz/tcl01.txt");
a=matrix(tcl01,nrow=24,ncol=17,byrow=T)

x1=a[,1];
y=a[,2]*100;
x2=a[,3];
x3=a[,4];
x4=a[,5];
x5=a[,6];
x6=a[,7];
x7=a[,8];
x8=a[,9];
x9=a[,10];
x10=a[,11];
x11=a[,12];
x12=a[,13];
x13=a[,14];
x14=a[,15];
x15=a[,16];
x16=a[,17];

后面这段话怎么用循环来写?
就是说,怎么一次性定义x2~x16这15个变量?
我刚刚根据你给我的回复试图自己写,没写出来,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群