简单的r小练习

# 此步在读取数据
> x <- read.csv(file="C:/Users/Public/Desktop/EduRecivedFiles/lm.blood.csv",header=T)
> x
      y    x1    x2    x3   x4
1  11.2  5.68  1.90  4.53  8.2
2   8.8  3.79  1.64  7.32  6.9
3  12.3  6.02  3.56  6.95 10.8
4  11.6  4.85  1.07  5.88  8.3
5  13.4  4.60  2.32  4.05  7.5
6  18.3  6.05  0.64  1.42 13.6
7  11.1  4.90  8.50 12.60  8.5
8  12.1  7.08  3.00  6.75 11.5
9   9.6  3.85  2.11 16.28  7.9
10  8.4  4.65  0.63  6.59  7.1
11  9.3  4.59  1.97  3.61  8.7
12 10.6  4.29  1.97  6.61  7.8
13  8.4  7.97  1.93  7.57  9.9
14  9.6  6.19  1.18  1.42  6.9
15 10.9  6.13  2.06 10.35 10.5
16 10.1  5.71  1.78  8.53  8.0
17 14.8  6.40  2.40  4.53 10.3
18  9.1  6.06  3.67 12.79  7.1
19 10.8  5.09  1.03  2.53  8.9
20 10.2  6.13  1.71  5.28  9.9
21 13.6  5.78  3.36  2.96  8.0
22 14.9  5.43  1.13  4.31 11.3
23 16.0  6.50  6.21  3.47 12.3
24 13.2  7.98  7.92  3.37  9.8
25 20.0 11.54 10.89  1.20 10.5
26 13.3  5.84  0.92  8.61  6.4
27 10.4  3.84  1.20  6.45  9.6
# 接下来提取出我们要的切片
> x1 <- x[,2]
> x1
 [1]  5.68  3.79  6.02  4.85  4.60  6.05  4.90  7.08  3.85  4.65  4.59  4.29
[13]  7.97  6.19  6.13  5.71  6.40  6.06  5.09  6.13  5.78  5.43  6.50  7.98
[25] 11.54  5.84  3.84
> x2 <- x[,3]
> x3 <- x[,4]
> x4 <- x[,5]
> y <- x[,1]
# 现在就可以画出散点图啦
> plot(y,x1)
> plot(y,x2)
> plot(y,x3)
> plot(y,x4)
#通过散点图发现x4与y呈显著的线性关系,所以画出y关于x4的一元回归方程,姑且命名为lm
> lm <- lm(y~1+x4)
# 得到关于方程的各种检验结果(SPSS同理)
> summary(lm)

Call:
lm(formula = y ~ 1 + x4)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.2904 -1.4111 -0.2209  0.9010  6.7227 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   3.0061     2.3638   1.272 0.215173    
x4            0.9782     0.2544   3.845 0.000736 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.365 on 25 degrees of freedom
Multiple R-squared:  0.3717,    Adjusted R-squared:  0.3465 
F-statistic: 14.79 on 1 and 25 DF,  p-value: 0.000736

# 接下来绘制关于lm的散点图与拟合曲线
> abline(lm)
# 通过画图发现结果并不好,原因是因为与y轴交点在3,且斜率较小。所以想了个方法
> x4min <- min(x4)
> x4max <- max(x4)
> plot(x4,y,xlim=c[x4min,x4max])
# 这几步是通过扩大散点图的取值范围,进行画图,同时利用plot把x4和y颠倒
> abline(lm)
# 此步帮我们画出散点图与拟合曲线
# 读者不妨试试,可以得到美观的图像。

# 接下来用新数据进行预测,注意新数据即使就一个也要符合格式(dataframe)
> new <- data.frame(x1=5.0;x2=2.0;x3=10.0;x4=8.0)
错误: 意外的';'在"new <- data.frame(x1=5.0;"里
# 应用逗号分隔!
> new <- data.frame(x1=5.0,x2=2.0,x3=10.0,x4=8.0)

# 好了,下面得到预测数据与置信区间
> lm.pred <- predict(lm,new,interval="prediction",level=0.95)
> lm.pred
       fit      lwr      upr
1 10.83178 5.836978 15.82659



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值