這可能是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
}}
您還沒有提到這是什麼語言/技術。您應該相應地添加標籤。 – TeaDrivenDev