Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 尝试编织时出现错误x[[1]]越界错误_R_Knitr - Fatal编程技术网

R 尝试编织时出现错误x[[1]]越界错误

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[[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 <- 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))
的结果打印在该结果之前的块中,并注释掉(或临时删除)文档的其余部分来完成此操作。