Na.action = 排除 lapply 中的错误
Na.action = exclude error in lapply
我有一个包含 507 列的数据框。第一列是观察日期。第 2 列到第 504 列是我的因变量。 505、506 和 507 列是自变量。我写了一个函数来对每个因变量进行单独的回归:
varlist<-names(df)[2:504]
models <- lapply(varlist, function(x) {
lm(substitute(i ~ rmrf + smb + hml, na.action = na.exclude, list(i = as.name(x))), data = df)
})
na.exclude 参数给我以下错误代码:
Error in substitute(i ~ rmrf + smb + hml, na.action = na.exclude, list(i = as.name(x))) : unused argument (na.action = na.exclude)
但是,当我 运行 每个单独进行时,回归有效。
lm(Var2 ~ rmrf + smb + hml, na.action = na.exclude, data = df)
当我在 lapply 函数中包含 na.action 参数时,可能导致错误的原因是什么?
您的参数顺序错误。要更好地查看问题,请尝试像这样分隔代码:
varlist<-names(df)[2:504]
models <- lapply(varlist, function(x) {
lm(
substitute(i ~ rmrf + smb + hml,
na.action = na.exclude,
list(i = as.name(x))
),
data = df)
})
请注意示例中的工作原理
lm(Var2 ~ rmrf + smb + hml, na.action = na.exclude, data = df)
na.action
参数在 lm 函数中?在不起作用的示例中,它位于替代函数
内
我有一个包含 507 列的数据框。第一列是观察日期。第 2 列到第 504 列是我的因变量。 505、506 和 507 列是自变量。我写了一个函数来对每个因变量进行单独的回归:
varlist<-names(df)[2:504]
models <- lapply(varlist, function(x) {
lm(substitute(i ~ rmrf + smb + hml, na.action = na.exclude, list(i = as.name(x))), data = df)
})
na.exclude 参数给我以下错误代码:
Error in substitute(i ~ rmrf + smb + hml, na.action = na.exclude, list(i = as.name(x))) : unused argument (na.action = na.exclude)
但是,当我 运行 每个单独进行时,回归有效。
lm(Var2 ~ rmrf + smb + hml, na.action = na.exclude, data = df)
当我在 lapply 函数中包含 na.action 参数时,可能导致错误的原因是什么?
您的参数顺序错误。要更好地查看问题,请尝试像这样分隔代码:
varlist<-names(df)[2:504]
models <- lapply(varlist, function(x) {
lm(
substitute(i ~ rmrf + smb + hml,
na.action = na.exclude,
list(i = as.name(x))
),
data = df)
})
请注意示例中的工作原理
lm(Var2 ~ rmrf + smb + hml, na.action = na.exclude, data = df)
na.action
参数在 lm 函数中?在不起作用的示例中,它位于替代函数