是能够%*%矩阵或dataframe?inR的向量

时间:2013-08-05 14:24:28

标签: r

考虑给出的代码:

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

然后报告错误

是能够%*%matrixdata.frame

的向量

这只是由R版本引起的吗?

2 个答案:

答案 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