0

考虑给定的代码:

ne<-rep(1,n)
meanx <- drop(one %*% x)/n

然后报错

向量是否能够%*%matrixdata.frame

这仅由 R 版本引起吗?

4

2 回答 2

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
于 2013-08-05T14:45:26.683 回答
1

如果你的意思是

n <- 100
one<-rep(1,n)
meanx <- drop(one %*% one)/n    ,

然后它就像一个魅力......

于 2013-08-05T14:33:39.127 回答