R 使用外部函数

R 使用外部函数,r,outer-join,R,Outer Join,我使用外部函数有困难。我已经研究了一些线程,但还没有找到解决方案 我有一个矩阵,prices,包含以下信息: 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 但是,如果我做了完全相同的事情,但

我使用外部函数有困难。我已经研究了一些线程,但还没有找到解决方案

我有一个矩阵,prices,包含以下信息:
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矩阵


任何帮助都将不胜感激。

价格您的价格矩阵显然是一个
数据框
而不是
矩阵
。您可以更改以下选项之一:

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
prices <- as.matrix(prices)
a <- outer(prices[1,1:2],prices[1,1:2],FUN ="*")

prices噢,为了澄清,我检查了(使用
class(prices[1,1])
)prices数组中的变量是整数。虽然当我刚刚检查class(prices[1,1:2])
时,它返回了“Dataframe”作为类型。我不确定我是否可以/需要做些什么?谢谢<代码>价格
a <- outer(as.numeric(prices[1,1:2]),as.numeric(prices[1,1:2]),FUN ="*")