2

外部関数の使用に問題があります。いくつかのスレッドを見てきましたが、解決策を見つけることができませんでした。

次の情報を含む行列、価格があります。次の
25 26
ように外部関数を使用して、これらの数値を掛け合わせます。

a = outer(prices[1,1:2],prices[1,1:2],FUN ="*")

これにより、次のエラーが表示されます。

Error in as.vector(X) %*% t(as.vector(Y)) : 
requires numeric/complex matrix/vector arguments

ただし、まったく同じことを行いますが、数値を直接使用すると、希望どおりに機能します。

a = outer(c(25,26),c(25,26),FUN ="*")

積を含む 2x2 行列を返します。

どんな助けでも大歓迎です。

4

2 に答える 2

3

Your prices matrix is apparently a data.frame instead of a matrix. You can either change that:

prices <- as.matrix(prices)
a <- outer(prices[1,1:2],prices[1,1:2],FUN ="*")

or you can just convert to numeric when you use it:

a <- outer(as.numeric(prices[1,1:2]),as.numeric(prices[1,1:2]),FUN ="*")
于 2013-10-04T08:41:09.253 に答える
0
prices <- matrix(c(25,26), nrow=1)
a = outer(prices[1,1:2],prices[1,1:2],FUN ="*")

#     [,1] [,2]
#[1,]  625  650
#[2,]  650  676
于 2013-10-04T08:40:05.043 に答える