if(ncol(U)!=k)stop(“长度(lambda)!=ncol(U)”中出错:参数在R的incRpca中的长度为零

if(ncol(U)!=k)stop(“长度(lambda)!=ncol(U)”中出错:参数在R的incRpca中的长度为零,r,R,我试图在R中使用incRpca,但它给了我以下错误 if ncolU中出错!=k stoplengthlambda!=ncolU: 参数的长度为零 我的数据存储在一个文本文件中。当它试图使用incRpca替换元素时,会产生问题。incRpca在内部使用QR分解。我想这就是造成问题的原因 我的数据文件包含以下数据 142640 80 39 -970 -27 37 -979 116 47 -970 0 142656 70 49 -970 -18 27 -959 135 38 -980 0 14267

我试图在R中使用incRpca,但它给了我以下错误 if ncolU中出错!=k stoplengthlambda!=ncolU: 参数的长度为零

我的数据存储在一个文本文件中。当它试图使用incRpca替换元素时,会产生问题。incRpca在内部使用QR分解。我想这就是造成问题的原因

我的数据文件包含以下数据

142640 80 39 -970 -27 37 -979 116 47 -970 0
142656 70 49 -970 -18 27 -959 135 38 -980 0
142671 50 58 -950 -36 37 -979 135 57 -990 0
142687 80 39 -940 -18 18 -979 126 47 -970 0
142703 70 49 -960 -36 46 -1000 126 57 -970 0
142718 50 58 -970 -18 37 -989 126 47 -961 0
142734 60 49 -970 -36 27 -979 126 57 -970 0
142750 50 39 -970 -27 18 -989 116 47 -980 0
142765 60 39 -970 -18 37 -989 126 57 -951 0
142781 60 39 -970 -18 27 -979 106 38 -970 0
142796 50 39 -950 -27 37 -969 135 38 -970 0
142812 50 39 -950 -18 37 -979 126 57 -980 0
142828 50 58 -970 -27 37 -989 116 57 -970 0
142843 60 39 -980 -18 18 -949 135 47 -990 0
142859 60 58 -960 -36 27 -1000 135 28 -941 0
142875 70 49 -970 -36 37 -969 126 57 -961 0
142890 50 49 -970 -18 37 -969 126 66 -980 0
142906 70 49 -990 -18 27 -969 126 47 -980 0
142921 50 49 -950 -27 37 -989 126 57 -961 0
142937 70 39 -980 -18 18 -979 126 38 -990 0
142953 50 58 -960 -18 27 -1000 135 38 -980 0
142968 60 49 -960 -18 37 -989 126 47 -951 0
142984 40 39 -970 -18 37 -989 135 47 -990 0
143000 70 39 -960 -18 18 -979 135 38 -980 0
143015 60 39 -960 -18 37 -979 126 28 -980 0
143031 80 49 -960 -27 37 -979 126 47 -970 0
143046 50 58 -980 -18 27 -959 135 47 -970 0
143062 80 39 -960 -36 46 -979 126 38 -961 0
143078 70 58 -970 -9 46 -989 126 38 -970 0
143093 60 29 -950 -18 18 -969 126 57 -980 0
143109 50 49 -960 -27 37 -989 106 47 -980 0
143125 60 39 -970 -18 27 -989 116 38 -980 0
143140 70 58 -980 -27 37 -979 116 47 -970 0
143156 40 49 -970 -18 37 -979 126 47 -970 0
143171 50 29 -960 -18 37 -979 126 47 -970 0
143187 40 49 -990 -36 27 -979 126 47 -990 0
143203 70 49 -940 -27 27 -979 126 38 -980 0
143218 80 29 -950 -9 37 -979 106 47 -941 0
143234 60 68 -970 -36 37 -1000 126 47 -961 0
143250 70 39 -950 -18 27 -989 126 47 -961 0
143265 70 49 -960 -27 27 -959 116 47 -961 0
143281 60 49 -960 -27 46 -1000 126 47 -970 0
143296 70 39 -970 -27 27 -989 126 38 -970 0
143312 60 39 -970 -27 27 -989 126 47 -1000 0
143328 70 39 -960 -18 37 -989 126 47 -980 0
143343 60 39 -960 -27 37 -989 126 47 -980 0
143359 60 39 -970 -18 27 -989 135 38 -961 0
143375 60 39 -960 -27 37 -989 135 38 -990 0
143390 60 49 -950 -9 27 -969 126 47 -970 0
143406 60 39 -980 -27 27 -979 126 47 -980 0
143421 70 49 -960 -9 37 -989 126 38 -980 0
143437 70 39 -970 -18 27 -969 135 38 -970 0
代码


我不知道你为什么在读我的数据之前就给ncol打电话。另外,请重新格式化您的代码我现在更改了格式。请有人能帮我回答这个问题吗?当执行代码时,我得到这个错误:crossprodx中的错误,y:需要数字/复数矩阵/向量参数显示我我们修复了这个错误?
    library(onlinePCA)
    library(slam)
mydata = read.table("S01R01.txt")
    n <- nrow(mydata)
    d <- ncol(mydata)
    q<- 3
    n0<-11
   pca1 <- prcomp(mydata[1:n0,]) # initialization
    xbar1 <- pca1$center
    pca1 <- list(values1=pca1$sdev[1:q]^2, vectors1=pca1$rotation[,1:q])
    for (i in (n0+1):n)
    {
      xbar1 <- updateMean(xbar1, mydata[i,], i-1)
      pca1 <- incRpca(pca1$values1,pca1$vectors1, mydata[i,], i-1, q = q,center=xbar1)
    }