我已检查过以前的问题,但找不到答案
columnmean<-function(y){
n<-ncol(y)
means<-numeric(n)
for(i in 1:n){
means[i]<-mean(y[,i])
}
means}
我根本无法理解错误,即使代码似乎也是对的。此外,如果我在此行输入n的值
,我会得到一些尺寸错误 means[i]<-mean(y[,i])
答案 0 :(得分:2)
以下是错误的再现:
columnmean<-function(y){
n <- ncol(y)
means <- numeric(n)
for(i in 1:n) {
means[i] <- mean(y[,i])
}
means
}
columnmean(1:10)
如果y
是向量,则ncol(y)
的结果为NULL
。函数中的以下计算会引发错误
同样colMeans(1:10)
将导致错误(由于更好的内部检查参数,另一个错误)。
因此,您的代码对于二维数据是正确的,例如:
columnmean(BOD)
# [1] 3.666667 14.833333
错误取决于y
(y
只有一个维度,即向量~~&gt;错误)。