如何对该数据执行简单的线性回归模型?

问题描述

因此,我想创建一个线性回归模型,其中火箭价格(写为火箭)相对于发射数据(基准)。我相信我可以这样做:lm(Y〜X)。但是,如何将价格从chr转换为num,以及日期的转换方式呢?

谢谢!

spaceData screenshot

数据:https://www.kaggle.com/agirlcoding/all-space-missions-from-1957

解决方法

有效地,您在问3个不同但非常基本的问题,通过阅读介绍性文本而不是在Stack Overflow上发布问题会更好地学习。

  1. 如何将Rocket列的字符数据转换为数字数据?

根据您使用的R版本,spaceData$Rocket列将是字符向量或因子向量。要涵盖这两种情况,您可以执行以下操作:

spaceData$Rocket <- as.numeric(as.character(spaceData$Rocket))

这将警告您某些NA值已生成。没关系-列中有一些空白单元格,因此您希望它们为NA

  1. 如何将spaceData$Datum列从文本转换为实际日期时间?

在这种情况下,您可以使用strptime,并指定日期字符串的格式。我们还将把它包装在as.POSIXct中,以确保以更容易绘制的方式格式化数据:

spaceData$Datum <- as.POSIXct(strptime(spaceData$Datum,"%a %b %d,%Y %H:%M"))
  1. 如何使用这两个变量进行线性回归?

在尝试进行线性回归之前,最好确保进行线性回归是明智的。为了使线性回归有意义,您应该知道两个变量之间存在近似线性关系,并且残差近似呈正态分布。检查这些假设的一种简单方法是绘制两个变量:

plot(spaceData$Datum,spaceData$Rocket)

enter image description here

您不必是统计学家,就可以看出通过这些观点的任何直线都很难成为对这种关系的描述。如果我们尝试一下,我们可以看到:

abline(lm(Rocket ~ Datum,data = spaceData),col = "red")

enter image description here

因此,通过对这些数据进行线性回归,我们可以预测到2036年5月13日火箭的价格将跌至零。显然这是胡说八道。