楼主: 治感冒
1258 1

[问答] 如何写个函数,根据输入的变量进行线性回归? [推广有奖]

  • 1关注
  • 1粉丝

博士生

82%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0036
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
341 点
帖子
178
精华
0
在线时间
452 小时
注册时间
2007-3-9
最后登录
2020-1-8

楼主
治感冒 发表于 2016-9-29 20:12:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想写个这样的函数:

cal_lm <- function(x, y, dataset) {
    # 实现根据x、y定义的自变量因变量,求解线性回归结果
   
    # Args:
    # x : 自变量名
    # y:因变量名
    # data:数据集

    ans <- lm( y ~ x, data = dataset)
}

例如,数据集叫test,有5个变量,假设叫做aa, bb, cc, dd, ee,这个函数的功能就是,如果我想看bb ~ aa,就调用:

cal_lm(x = "aa", y = "bb", data = test),则这个函数等同于lm(bb ~aa, data = test)

如果想跑bb~ aa + cc,则调用 cal_lm(x = c("aa", "cc"), y = "bb", data = test)

我试了试,关键是这个函数参数x,y的传递到lm中,似乎不能简单的用字符串来传递。请各位高人指点下~~谢谢!!
二维码

扫码加我 拉你入群

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

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

关键词:线性回归 如何写 如何

沙发
czrdiao 发表于 2016-10-2 10:05:24
cal_lm <- function(x, y, dataset) {
  yy = dataset[,y]
  dataset = dataset[x]
  dataset$yy = yy
  ans <- lm(yy~., data = dataset)
  return(ans)
}

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

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