考虑给出的代码:
ne<-rep(1,n)
meanx <- drop(one %*% x)/n
然后报告错误
是能够%*%matrix
或data.frame
?
这只是由R版本引起的吗?
答案 0 :(得分:1)
如果你的意思是
n <- 100
one<-rep(1,n)
meanx <- drop(one %*% one)/n ,
然后它就像一个魅力......
答案 1 :(得分:1)
%*%
运算符不适用于数据帧,但如果将data.frame转换为矩阵,它将起作用。
X = rnorm(100)
Y = rnorm(100)
df = data.frame(X,Y)
M = as.matrix(cbind(X,Y))
# this works fine
X %*% M
X Y
[1,] 99.95776 3.955938
# This one throws an error. But it can be fixed!
X %*% df
Error in X %*% df : requires numeric/complex matrix/vector arguments
# Ta da!
X %*% as.matrix(df)
X Y
[1,] 99.95776 3.955938