(ISLR-note)Chapter2&3-Experience

一、 先导知识:

1—1:基本命令
1.赋值向量:	x = c(1, 6, 2)
2.求向量长度: length(x)
3.两向量相加: x+y
4.查看列表对象及消除列表对象:ls(),rm(x)
5.建立矩阵:x = matrix(data = c(1,2,3,4), nrow = 2, ncol = 2)
6.涉及随机数,希望用户重复我们的结果:  set.seed(3),y = rnorm(100)
7.求均值,求方差,求标准差:mean(y),var(y),sd(y)

1—2:图形
1.更多plot: ?plot
2.指示R创建图形的工作到此为止: dev.off()
3.在a,b之间建立一个整数向量,lenth为等距点:seq(0,1,length=10) 0,1之间等距的10个数

1—3:索引数据 
1.取矩阵的某几个点:A[ c(1,3), c(2,4) ] 即取(1,2), (1,4), (3,2), (3,4)
2.取某行:A[1, ]:取第1行
3.不取某行,用负号"-" 表示:A[ -c(1,3), ] 不包括第1,3行
4.输出矩阵的行列数:dim(A)

二、实验知识:

1.载入库函数

library(MASS)
library(ISLR)

2.简单回归

〇调用变量

1.引用变量前,需用attach() 告知R允许在指定的数据框里的变量通过变量名调用
   attach(Auto)
   lm.fit = lm(response~predictor)   #基本句法   以上两句 <=> lm.fit = lm(response~predictor, data = Auto) 
   plot(predictor, response)

①读取csv文件

 1. **headers = 'T' ** 告知R,文件的第一行包含变量名,**ns.strings = "?" ** 告知R若缺失,则标号"?"
    eg: Auto = read.table("Auto.data", headers = T, na.strings = "?")
 2.剔除缺失数据的行:Auto = na.omit(Auto)

②查找置信区间

  confidence()

③predict()函数可以计算置信区间和预测区间

  • 对 置信区间 和 预测区间 的 理解
    在这里插入图片描述
  • predict(lm.fit, data.frame(predictor = (c(5, 10, 15))), interval = “confidence”)
    在这里插入图片描述
  • predict(lm.fit, data.frame(predictor = (c(5, 10, 15))), interval = “prediction”)
    在这里插入图片描述

④画图

  • 1.网上图源:各种标题的填写方式

在这里插入图片描述

  • 2.小细节

    • 1.plot(X, Y, (col = “COLOR”), (pch ="+" pch选项创建不同的图形符号)) //散点图

    • 2.abline(lm.fit, (lwd = CONSTANT), (col = “COLOR”))//在plot之后的图上做最小二乘回归

    • 3.par(mfrow = c(2,2)) //把绘图区域分次2 X 2

    • 4.plot()之后,再用identify(),此时单击图上的某点将引导R打印指定变量上这个点的值:
      plot(horsepower, mpg)
      identify(horsepower, mpg, name)

    • 5.在指定的数据集中,summary()函数对每个变量给出一个数值汇总

  • 3.对lm的输出直接用plot()命令将自动生成四幅诊断图。一般情况下,这个命令每次生成一幅图,按下Enter键将生成下一幅图,用par()函数可以将显示屏分割成独立地面板,如此可同时查看多个图
    在这里插入图片描述
    在这里插入图片描述

  • 将图形保存在文件里

    pdf("Figure.pdf")  # 或者jpeg("Figure.jpeg")
    plot(x,y,col="green“)
    dev.off()   #指示用R创建图形的工作到此为止
    
  • pairs() 变量与变量之间的散点图

    ①pairs(Auto) #用于建立指定数据集中每一对变量的散点图矩阵
    ②pairs(~ mpg + displacement + horsepower + weight + acceleration, Auto)	# 为数据集变量的子集
    

⑤残差

 也可用resuduals()函数计算线性回归拟合的残差,rstudent()函数计算学生化残差,也可以此绘制残差对拟合值的散点图
 plot(predict(lm.fit), residuals(lm.fit))
 plot(predict(lm.fit), rstudent(lm.fit))

3.多元线性回归

1.lm.fit = lm(y~x1+x2+x3, data = DATASET)
summary(lm.fit)
也可以用它们的名字访问summary(详看?summary)的各个组成部分
在这里插入图片描述

2.lm.fit = lm(y~., data = DATASET)	//表示对所有的预测变量
3.lm.fit = lm(y~x1+x2+x3, data = DATASET)
4.lm.fit = lm(y~.-age, data = DATASET)		//表示对除age变量外的所有预测变量进行回归

②交互项

 语句lstat : black将lstat 和 black的交互项纳入模型
 语句lstat * age 将lstat, age和交互项lstat x age同时作为预测变量,它是lstat + age + lstat : age的简写形式
 lm(medv~lstat*age, data = DATASET)

4.预测变量的非线性变换

 I(x^2)		//创建预测变量X^2
 lm.fit2 = lm(medv~lstat + I(lstat ^2))		//建立medv对lstat和lstat^2的回归

②anova()

 该函数进一步量化二次拟合在何种程度优于线性拟合
 anova(lm.fit,  lm.fit2)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值