楼主: 米思奇
6830 10

[问答] R软件 如何实现分段分别进行回归 [推广有奖]

  • 0关注
  • 2粉丝

本科生

73%

还不是VIP/贵宾

-

威望
0
论坛币
1757 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
787 点
帖子
29
精华
0
在线时间
174 小时
注册时间
2012-11-7
最后登录
2025-10-27

楼主
米思奇 发表于 2014-7-29 17:19:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教一下,在R软件里面,如我的数据有以下格式
w1 sy1  sy2
2010 20 30
2010  30 40
2011 40 50
2011 50 60
2012 60 70
2012  40 50

如何实现2010、2011、2012分别sy1对sy2做回归呀
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 r软件 如何 软件

沙发
URSIMON 发表于 2014-7-29 21:01:06 来自手机
米思奇 发表于 2014-7-29 17:19
请教一下,在R软件里面,如我的数据有以下格式
w1 sy1  sy2
2010 20 30
可以试试dataset[where w=2010]把数据分别挑出来

藤椅
whatsstock 发表于 2014-7-30 09:51:25
可以使用   reshape 包 里面的 melt函数
> w1<-c(2012,2010,2011,2011,2012,2012)
> sy1<-c(20,30,40,50,60,40)
> sy2<-c(30,40,50,60,70,80)
> d<-data.frame(w1,sy1,sy2)
> library(reshape2)
> d<-melt(d,id=("w1"))
> d
     w1 variable value
1  2012      sy1    20
2  2010      sy1    30
3  2011      sy1    40
4  2011      sy1    50
5  2012      sy1    60
6  2012      sy1    40
7  2012      sy2    30
8  2010      sy2    40
9  2011      sy2    50
10 2011      sy2    60
11 2012      sy2    70
12 2012      sy2    80
> d1<-head(d,6)
> d1
    w1 variable value
1 2012      sy1    20
2 2010      sy1    30
3 2011      sy1    40
4 2011      sy1    50
5 2012      sy1    60
6 2012      sy1    40
> fit<-lm(d1$value~d1$w1+I(d1$w1^2))
> fit

Call:
lm(formula = d1$value ~ d1$w1 + I(d1$w1^2))

Coefficients:
(Intercept)        d1$w1   I(d1$w1^2)  
  -40451220        40225          -10  
> summary(fit)

Call:
lm(formula = d1$value ~ d1$w1 + I(d1$w1^2))

Residuals:
         1          2          3          4          5          6
-2.000e+01  1.824e-08 -5.000e+00  5.000e+00  2.000e+01  5.178e-13

Coefficients:
              Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.045e+07  6.215e+07  -0.651    0.562
d1$w1        4.022e+04  6.180e+04   0.651    0.562
I(d1$w1^2)  -1.000e+01  1.537e+01  -0.651    0.562

Residual standard error: 16.83 on 3 degrees of freedom
Multiple R-squared:   0.15,        Adjusted R-squared:  -0.4167
F-statistic: 0.2647 on 2 and 3 DF,  p-value: 0.7837
> plot(d1$w1,d1$value)
> lines(d1$w1, fitted(fit),type="b",col="red")

板凳
whatsstock 发表于 2014-7-30 10:19:51
> library(grid)
> library(vcd)
> assocstats(t1)
                    X^2 df P(> X^2)
Likelihood Ratio 9.3643  8  0.31250
Pearson          9.5000  8  0.30189

Phi-Coefficient   : 1.258
Contingency Coeff.: 0.783
Cramer's V        : 0.89
不过你的 这组数据更像是复合柏松过程,发生次数是宽平稳的柏松过程,发生数额为正太分布

报纸
米思奇 发表于 2014-7-30 22:10:44
whatsstock 发表于 2014-7-30 10:19
> library(grid)
> library(vcd)
> assocstats(t1)
真是大神呀,我试试哈,谢谢哟

地板
whatsstock 发表于 2014-7-31 10:02:06
米思奇 发表于 2014-7-30 22:10
真是大神呀,我试试哈,谢谢哟
我是新手。。现学现卖

7
米思奇 发表于 2014-8-7 17:16:34 来自手机
URSIMON 发表于 2014-7-29 21:01
可以试试dataset[where w=2010]把数据分别挑出来
这个命令好像不对呀,怎么把每类数据挑选出来呢

8
米思奇 发表于 2014-8-7 17:19:36 来自手机
whatsstock 发表于 2014-7-31 10:02
我是新手。。现学现卖
今天看了一下,发觉这好像不是按照年分类求得回归呀?

9
839336543 发表于 2014-8-11 20:13:26
URSIMON 发表于 2014-7-29 21:01
可以试试dataset[where w=2010]把数据分别挑出来
谢谢分享

10
gssdzc 在职认证  发表于 2014-9-13 18:34:25
貌似大神很多

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 21:47