楼主: 中财学子
12201 14

[问答] R软件中读取了Excel的数据,接下来怎么开始做回归呢? [推广有奖]

  • 0关注
  • 0粉丝

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
111 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
67 点
帖子
9
精华
0
在线时间
17 小时
注册时间
2012-1-17
最后登录
2014-6-7

楼主
中财学子 发表于 2012-11-30 20:09:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我读取了Excel的数据,怎么做回归呢?
例如

> library(RODBC)
> z <- odbcConnectExcel('D:/data/mydata.xls')
> foo<-sqlFetch(z,'Sheet1')
> close(z)
> foo
  year        gdp        ind      city         con
1 2000 0.08431279 0.09429051 0.3622000 0.006607202
2 2001 0.08300318 0.08441516 0.3766000 0.007220217
3 2002 0.09082068 0.09829292 0.3908978 0.001303356
4 2003 0.10025379 0.12671907 0.4053023 0.011064107
5 2004 0.10085040 0.11112455 0.4176001 0.015448986
6 2005 0.11310035 0.12082325 0.4299000 0.012044374
7 2006 0.12676534 0.13391125 0.4434287 0.013780144
8 2007 0.14162395 0.15063330 0.4588900 0.010812481
9 2008 0.09634668 0.09877462 0.4698913 0.010299511
> model1=lm(gdp~ind+city+con)
错误于eval(expr, envir, enclos) : 找不到对象'gdp'

请问我应该怎么操作才能做gdp为因变量,ind、city、con为自变量的线性回归。

新手,勿笑。

二维码

扫码加我 拉你入群

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

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

关键词:EXCEL xcel exce 接下来 cel library Excel close

已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 鼓励积极发帖讨论

总评分: 热心指数 + 1   查看全部评分

沙发
zyz0329 在职认证  发表于 2012-11-30 21:17:12
library("dynlm")
model<-dynlm(gdp~ind+city+con,data=foo)
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
中财学子 + 1 + 1 + 1 热心帮助其他会员
qoiqpwqr + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

藤椅
jmpamao 发表于 2012-11-30 21:33:31
因为程序 是不会自动读取一个数据的 列变量的
可以 :
1/attach(foo)  
2/foo$gdf  。。。
3/lm(....,data=foo)
任你选了,呵呵

看看:
foo <- read.table(text="
year        gdp        ind      city         con
2000 0.08431279 0.09429051 0.3622000 0.006607202
2001 0.08300318 0.08441516 0.3766000 0.007220217
2002 0.09082068 0.09829292 0.3908978 0.001303356
2003 0.10025379 0.12671907 0.4053023 0.011064107
2004 0.10085040 0.11112455 0.4176001 0.015448986
2005 0.11310035 0.12082325 0.4299000 0.012044374
2006 0.12676534 0.13391125 0.4434287 0.013780144
2007 0.14162395 0.15063330 0.4588900 0.010812481
2008 0.09634668 0.09877462 0.4698913 0.010299511",header=T)
model1 <- lm(gdp~ind+ind+city+con, data=foo)
model1

Coefficients:
(Intercept)          ind         city          con  
   -0.03515      0.75016      0.13689     -0.28188  

已有 2 人评分学术水平 热心指数 信用等级 收起 理由
中财学子 + 1 + 1 + 1 热心帮助其他会员
qoiqpwqr + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

板凳
mengqinqing 发表于 2012-12-1 10:33:35
读取excel数据的包很好啊
用自己的力量站在自己的位置

报纸
mengqinqing 发表于 2012-12-1 10:42:45
jmpamao 发表于 2012-11-30 21:33
因为程序 是不会自动读取一个数据的 列变量的
可以 :
1/attach(foo)
请问,怎么解除attach呢
用自己的力量站在自己的位置

地板
qoiqpwqr 发表于 2012-12-1 11:19:39
mengqinqing 发表于 2012-12-1 10:42
请问,怎么解除attach呢
detach

7
mengqinqing 发表于 2012-12-1 11:40:42
qoiqpwqr 发表于 2012-12-1 11:19
detach
谢谢
用自己的力量站在自己的位置

8
中财学子 发表于 2012-12-1 23:56:19
谢谢楼上各位

9
清水边看水 发表于 2013-4-2 11:23:24
read.csv("d:/work/lib1.csv")
   year     x      y
1    93  1869  53677
2    94  1484  40737
3    95  1842  45587
4    96  2024  45920
5    97  2605  44343
6    98  3527  62520
7    99  5709 149568
8  2000  6850 170120
9  2001  8728 191742
10 2003  9873 231852
11 2004 10525 247093
12 2005 11021 272226
13 2006 12315 299894
> model=lm(y~x)
错误于eval(expr, envir, enclos) : 找不到对象'y'
大侠们,为什么会出现这个叻?怎样才能做出线性回归呀?

10
hsjianghw 发表于 2013-4-2 14:16:24
楼上解释的很清楚了。
我一开始用的时候看教材也是迷糊。
其实是要你来指定变量出现的数据来源。

方法1;
foo = read.csv("d:/work/lib1.csv")
model=lm(y~x, data=foo)
plot(foo)
summary(model)
anova(model)
plot(model)

方法2:
foo = read.csv("d:/work/lib1.csv")
attach(foo)
model=lm(y~x)

PS:foo表示你随便取个名字


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

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