楼主: manfanshe
994 0

[问答] 关于回归及循环的求助!! [推广有奖]

  • 1关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
178 点
帖子
10
精华
0
在线时间
15 小时
注册时间
2015-3-9
最后登录
2017-5-3

楼主
manfanshe 发表于 2017-4-19 08:46:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
是这样,我有一个8列12行的数据框sumdata,想对任意两列做回归,并且回归的时候从12行数据中去掉两行,选出拟合效果最好的10行,最后导出系数的一个矩阵。
R的初学者,目前想到可以用for循环做,但大神们都说很鄙视只会用for循环的,所以求助怎么转换成apply函数做,谢谢大家~
代码如下:
  1. actact1<-matrix(0,ncol=8,nrow=8)
  2. actact2<-matrix(0,ncol=8,nrow=8)

  3. for (i in 2:9){
  4.     for (j in 2:9){
  5.         if (i==j){
  6.            actact1[i-1,j-1]<-0
  7.            actact2[i-1,j-1]<-0
  8.           }else{
  9.            r2<-0
  10.            coe<-0
  11.            for (x in 1:12){
  12.                for (y in x:12){
  13.                        del0<-c(x,y)
  14.                        lmt<-lm(sumdata[-del0,i]~sumdata[-del0,j])
  15.                        if (summary(lmt)$r.squared>r2){
  16.                        del<-del0
  17.                        r2<-summary(lmt)$r.squared
  18.                        coe<-summary(lmt)$coefficients[2,1]
  19.                        }
  20.                }        
  21.            }
  22.            actact1[i-1,j-1]<-coe
  23.            actact2[i-1,j-1]<-r2
  24.         }               
  25.     }
  26. }
复制代码
二维码

扫码加我 拉你入群

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

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

关键词:apply函数 for循环 apply appl Data

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 06:54