【发布时间】:2017-10-17 16:42:26
【问题描述】:
使用来自 Fifththirtyeight 包的数据...
library(fivethirtyeight)
grads <- college_recent_grads
创建了 grads 数据的子集以包含所需的变量
data <- grads[, c("men", "major_category", "employed",
"employed_fulltime_yearround", "p25th",
"p75th", "total")]
然后,我将 data 子集按主要类别拆分,并省略了数据中的一个 NA 值
majorcats <- split(data, data$major_category)
names(majorcats)
majorcats <- majorcats %>% na.omit()
并尝试在名为facts的函数中运行回归模型,用户可以在其中指定x、y和z,z是主要类别(因此我将data子集按major_category拆分)
facts <- function(x, y, z){
category <- majorcats[["z"]]
summary(lm(y ~ x, data = category))
}
不幸的是,当我尝试将变量输入到事实中时(这是主要数据集的一部分,例如
facts(men, p25th, Arts)
我收到以下错误:
Error in model.frame.default(formula = y ~ x, data = category,
drop.unused.levels = TRUE) :
invalid type (NULL) for variable 'y'
Called from: model.frame.default(formula = y ~ x, data = category,
drop.unused.levels = TRUE)
Browse[1]>
谁能解释一下这个错误是什么意思,以及我可以如何解决它?
【问题讨论】:
标签: r dataframe subset linear-regression