错误:使用“lapply”时,dim(X)必须具有正长度

时间:2016-04-14 18:29:14

标签: r

运行此命令时:

tmp <- lapply(tmp, function(y) apply(sapply(y, function(x) unique(grpproc[,2]) %in% x), 1, sum))

我收到错误:

Error in apply(sapply(y, function(x) unique(grpproc[, 2]) %in% x), 1,  :     
dim(X) must have a positive length

我相信我可能需要一个不同的申请声明吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

sapply()返回一个向量,但apply()正在寻找一个矩阵

xx <- c(0,1,2,3,4,5)
dim(sapply(xx, mean)) # NULL
xxx <- matrix(rep(xx,3), nrow = 3) # what happens if we give sapply a matrix?
dim(sapply(xxx, mean)) # why?
sapply(xxx, mean) # because it returns a vector

可能你的同事可能想要使用sum()而不是apply()?或者是另一个返回正确矩阵或data.frame的apply函数。