2013-10-04 5 views
2

외부 기능 사용에 어려움이 있습니다. 몇 가지 스레드를 살펴 보았지만 해결책을 찾지 못했습니다.외부 기능 사용

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

이 나에게 다음과 같은 오류 제공 :

함께이 숫자를 곱하면 다음과 같이
25 26
나는 외부 함수를 사용

나는 다음과 같은 정보와 함께, 가격 행렬이

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 매트릭스를 반환합니다.

도움을 주시면 감사하겠습니다.

+0

아, 그냥 명확히하기 위해, 나는 클래스 (가격 [1,1 '사용 (체크 ])))에서 가격 배열 내의 변수는 정수였습니다. 'class (prices [1,1 : 2])'를 지금 보았을 때 타입으로 "Dataframe"을 반환했습니다. 내가 할 수 있거나 할 수있는 것이 있는지 확실하지 않습니다. 감사! – Mike

+0

'prices <- as.matrix (prices)','outer'는 행렬/배열/벡터만을 데이터 프레임이 아닌 인수로 취합니다. – plannapus

답변

3

귀하의 가격 매트릭스는 분명히 data.frame 대신 matrix입니다.

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

또는 당신이 그것을 사용할 때 당신은 단지 숫자로 변환 할 수 있습니다 : 당신은 그것을 바꿀 수 있습니다

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

완벽하게 일했습니다. 덕분에 너무 많이! – Mike

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