【发布时间】:2016-05-14 16:23:36
【问题描述】:
我正在尝试在 R 中做我的第一个项目,但我只是不懂这种语言,所以在这里真的让我很生气。这是我遇到过的最令人沮丧的事情,主要是因为互联网上似乎绝对没有任何地方可以迎合不懂语言的人来教你如何做事。
我正在尝试使用我正在使用的数据作为 RStudio 的内置数据集之一运行线性回归。这是我的代码行:
lm(Income ~ Illiteracy, data=florida)
但我一直在想这个错误:
model.frame.default 中的错误(公式 = 收入 ~ 文盲,数据 = 佛罗里达,: 'data' 必须是 data.frame,而不是矩阵或数组
(帮我把 state.x77 改名为“florida”的朋友)。
在收到此错误并决定我更愿意在回归中单独处理每个州或至少几个样本州后,我决定将佛罗里达行转化为自己的向量来进行分析在。但是,我不知道该怎么做。我一直在这个网站上看到建议,但他们都在“命名”事物,而且很多命令都有“暗淡”,没有人解释。
请帮助我是一个完全的初学者,我有一本假设你知道 R 的教科书,我找到了另一本“学习 R”的书,不知何故也假设你知道 R
【问题讨论】:
-
str(florida)给出了什么? -
错误提示您需要一个
data.frame,所以将florida强制转换为data.frame:lm(Income ~ Illiteracy, data=as.data.frame(florida))。 -
首先,您不能对该数据集中的单行执行线性回归。在 state.x77 数据集中,佛罗里达州只是一行,因此您没有自变量。如果您想对所有州的文盲率与收入进行线性回归比较,请尝试:lm(Income ~ Illiteracy, data=as.data.frame(state.x77))
-
这最终奏效了——我不知道这就是你可以使用“as.data.frame”命令的方式。
-
@Dave2e:这是否意味着我将无法对各个州的数据进行回归?编辑:我现在明白你的意思了
标签: r matrix vector regression