一、实验目的

  1. 使用R自带包stats线性模型函数lm(),建立简单回归模型。
  2. 使用R自带的数据集women建立数据模型。
  3. 使用R进行数据单位转换操作。
  4. 使用R建立的简单回归模型与函数predict(),进行新数据预测。
  5. 数据导出操作包括导出数据文本文件、保存R绘图图片。

二、实验内容

说明 1: 已知数据集women有15名妇女的数据,如下表表1所示。

序号 身高(英寸) 体重(磅) 序号 身高(英寸) 体重(磅)
1 58 9 9 66 139
2 59 10 10 67 142
3 60 11 11 68 146
4 61 12 12 69 150
5 62 13 13 70 154
6 63 14 14 71 159
7 64 15 15 72 164
8 65 16

说明 2: 使用R进行数据单位转换编程,将身高与体重变量的单位由英制转为公制。
说明 3: 导出文本文件: 把转换单位后的数据使用数据框函数write.table()保存为文本文件,以空格分隔数据列,不 含行号,含列名,字符串不带引号。
说明 4: 将转换单位后的数据,使用R自带包stats线性模型函数lm(),建立简单回归模型。
说明 5: 保存图片: 保存为PNG格式。
说明 6: 使用R建立的简单回归模型与函数predict(),使用身高height=172新数据进行体重weight预测。

三、实验报告

1. 实验环境

Win10

2. 实验内容与完成情况

1)实验源代码

women
f<-lm(weight~height, data=women)
f #y=ax+b => weight=3.45height-87.52
summary(f)
fitted(f)
residuals(f)
plot(women$height,women$weight,xlab=”身高(英寸)”,ylab=”体重(磅)”)
abline(f)

2)设置工作目录并导出women数据集

执行指令及结果如下所示:
image.png

2) 数据集英制转换为公制

键入指令,将数据集英制转换为公制,执行指令及结果如下所示:

image.png

3)数据集导出

键入指令,将转换后的数据集导出(文本文件,以空格分隔数据列,不含行号,含列名,字符串不带引号),执行指令及结果如下所示(具体文本存放于压缩包中):
执行指令:
image.png
执行结果:
image.png

image.png

4)建立回归模型

键入指令,建立简单回归模型,执行指令及结果如下所示:
image.png

5)绘制拟合图

键入指令,画出拟合图并将其保存为,执行指令及结果如下所示:
执行指令:
image.png
执行结果(拟合图):
image.png
image.png

6)数据预测

键入指令,利用回归模型进行预测,执行指令及结果如下所示:
image.png

3. 出现的问题

1)导出文件中数据存在行号。

4. 解决方案

1)在write.table()括号内键入:row.name = FALSE解决问题。