R 尝试编织时出现错误x[[1]]越界错误
我有下面这一块。它运行良好,给我输出。没有错误。(可能是我的逻辑,但没有任何东西可以阻止程序运行)但当我去编织它时,我得到以下错误: x[[1]]中出错:下标越界调用:。。。knit_print.default->normal_print->print.list执行已停止R 尝试编织时出现错误x[[1]]越界错误,r,knitr,R,Knitr,我有下面这一块。它运行良好,给我输出。没有错误。(可能是我的逻辑,但没有任何东西可以阻止程序运行)但当我去编织它时,我得到以下错误: x[[1]]中出错:下标越界调用:。。。knit_print.default->normal_print->print.list执行已停止 x <- 0 y <- list() p <- ncol(data) for (i in 2:p){ x <- 0 tbl <- table(data[,i]) res
x <- 0
y <- list()
p <- ncol(data)
for (i in 2:p){
x <- 0
tbl <- table(data[,i])
res <- cbind(tbl,round(prop.table(tbl)*100,2))
colnames(res) <- c('Count','Percentage')
print(res)
g <- length(which(as.character(data[,i])=="Other"))
h <- length(which(as.character(data[,i])=="Don't know"))
j <- length(which(as.character(data[,i])=="Refuse to answer"))
k <- length(which(as.character(data[,i])=="Don't Know/Refuse to answer"))
m <- length(which(as.character(data[,i])=="Don't Know/Refuse to Answer"))
r <- length(which(data[,i]!="NA"))
if (r == 0) {
next
}
x <- g+h+j+k+m+x
if (x == 0) {
next
}
r <- length(which(data[,i]!="NA"))
if ((x/r) >= .1) {
names(data[, i, drop = FALSE])
y <- c(y,names(data)[i])
}
}
z <- length(which(data[,37:41]==1))
t <- length(which(data[,40:41]==1))
#if ((t/z) >= .1) {
#names(data[, 37, drop = FALSE])
# y <- c(y,names(data)[37])
#}
v <- length(which(data[,45:49]==1))
b <- length(which(data[,48:49]==1))
#if ((b/v) >= .1) {
# names(data[, 45, drop = FALSE])
# y <- c(y,names(data)[45])
#}
y
x您是否有比文档中的块更多的块?我有,但错误状态为第233行,这是该块的起点。如果该块本身运行良好,这意味着您需要清除环境,或者块中的某些内容事先出错。每个块都运行良好。我清理了环境,但还是什么都没有。谢谢您的建议。您需要在块的开头向我们展示数据的样子。您可以通过将dput(head(data))
的结果打印在该结果之前的块中,并注释掉(或临时删除)文档的其余部分来完成此操作。