【发布时间】:2015-05-07 14:20:56
【问题描述】:
这可能是 R 中的一个基本问题,但我试图在更大数据框的子集中循环数据。我在“while”命令中添加了“data=sub240”行,但这会导致括号错误,我怀疑这表明存在更大的问题。谁能告诉我如何在数据帧的子集上运行循环?我认为这无关紧要,但我在循环中使用了“optiscale”包。
{while (rsquared.differ > .00001 && niter <= 30 && data=sub240) {
niter <- niter + 1
reg.os<- lm(dvar.os ~ index.os + educ.os)
rsquared.differ <- summary(reg.os)$r.squared - previous.rsquared
previous.rsquared <- summary(reg.os)$r.squared
record <- c(record, niter, summary(reg.os)$r.squared, rsquared.differ)
if (rsquared.differ > .00001) {
dvar.pred <- predict(reg.os)
opscaled.dvar <- opscale(intknow, dvar.pred, level = 1, process = 1)
dvar.os <- opscaled.dvar$os
intknow240.pred <- (dvar.os - (reg.os$coefficients[1] +
(reg.os$coefficients[4]*educ.os)
))*
(1/reg.os$coefficients[2])
opscaled.intknow240 <- opscale(anes$intknow, intknow240.pred, level = 1, process = 1)
intknow240.os <- opscaled.intknow240$os
}}
【问题讨论】:
-
你甚至没有提到这是什么语言/技术。您应该相应地添加一个标签。