더 많은 명확성을 위해 업데이트 : 나는 내 책과 여러 사이트를 모두 조사 했으므로 간단히 올바른 키워드를 검색하지 않았을 것입니다.거꾸로 된 행렬과 벡터에 함수를 적용하려고 시도
나는 코드에서 볼 수있는 행렬 시간 벡터 (전체 행렬 곱셈)를 곱하는 함수를 만들었습니다. 지금까지 괜찮 았고 일하고 있습니다. I 입력 내 기능 인자 :
m<- matrix(1:9, nrow= 3, ncol=3)
f <- function(x,y,z) {(as.vector(y)%*%x%*%as.vector(y))*z}
f(m,rep(1,3),2)
이 출력 : 는 [1] [1] 90
X 및 Y는 일정하게 유지되지만, Z는 달라진다.
그래서 여러 출력을 얻으려면 벡터를 사용하고 싶습니다.
z<- as.vector(1,2,3)
나는 그렇게 같은 기능을 적용 시도했다 :
apply (c(rep(m,3),rep(1,3),rep(2,3)),1,f)
하지만 오류가 발생합니다.
오류 : "적용 ((대표 (m, 3)"에서 ','예상치 못한
그래서 제 질문은 행렬 곱셈 한 후 플로팅 벡터의 각 요소에 그 출력을 증식 할 수있는 방법입니다 ?
또한 I 한 응답이 단순히 제 다음 다른 배인 스칼라를 초래하지만, 우리는 그 용액으로서 사용할 수 있다고 가정 할 수 곱셈.
행렬 곱셈을 수행하는 함수를 생성하는 것을 실현 도움을 주셔서 미리 감사드립니다.
당신이 원하는 것은 분명하지 않습니다 : 당신은 "산출물의 벡터"를 원하지만 입력의 어떤 부분이 달라야할까요? 당신의 실수는 단지'c (rep (...')에서 누락 된'c' 일뿐입니다. 그러나 입력의 한 부분 만 다를 경우'sapply'를 사용하고 싶을 수도 있고, 여러 가지가있는 경우'mapply'를 사용하고 싶을 수도 있습니다. –
감사합니다. 일했다. – user1181337