【发布时间】:2017-01-16 11:34:30
【问题描述】:
variables.null.model <- paste('utalter', 'lcsex', 'utcigreg', 'utbmi', 'month', sep = '+')
variables.full.model <- paste('utalter', 'lcsex', 'utcigreg', 'utbmi', 'month', 'ltedyrs','occ_status', 'marital_status', 'social_cat','GC_linc125_07', 'GC_linc250_07', 'GC_linc500_07', 'GC_linc1000_07', 'GC_linc5000_07', 'GC_pop500_08','utalkkon', 'activity', 'utpyrs', 'cvd', 'utmstati', 'utmfibra', 'utantihy', 'utmeddia', 'utmadins','utwhrat','ul_choln', sep='+')
pollutants_3 <- c('GC_PM10_09', 'GC_PM25_09', 'GC_Coarse_09', 'GC_BS25_09', 'GC_NOX_09', '$GC_NO2_09')
null <- paste(variables.null.model, pollutants_3, sep='+')
full <- paste(variables.full.model, pollutants_3, sep='+')
fun.model.summary <- function(x) {
formula <- as.formula(paste("log_sfrp5 ~", x))
lm <- lm(formula, data = kalonji.na )
coef(summary(lm))
}
lm.summary <- lapply(full, fun.model.summary)
我正在处理一些空气污染数据,并希望运行线性回归函数并总结系数。我上面有以下代码,但出现此错误:
解析错误(文本 = x,keep.source = FALSE): :1:269: 意外的'$'
有什么办法可以解决这个问题吗?
【问题讨论】:
-
pollutants_3由什么组成?而且我认为lapply(c(null, full), ...)应该可以工作 -
你的
full变量是一个长度为1的字符向量。那么,你为什么要在上面使用lapply呢? -
@Istrel 再看一遍,它的长度 > 1。
-
老实说,你根本不应该在这里使用字符向量。 R 有更好的方法来构建公式。使用字符串是一个弯路,并且会导致导致错误的复杂性,如下所示。
标签: r