나는 세 개 이상의 독립 변수를, R 벡터로 표현과 같이 한 :직교 제품 데이터 프레임
A <- c(1,2,3)
B <- factor(c('x','y'))
C <- c(0.1,0.5)
나는 그들 모두의 직교 제품을 가지고 데이터로 결과를 데려 가고 싶다는 이 같은 프레임 :
A B C
1 x 0.1
1 x 0.5
1 y 0.1
1 y 0.5
2 x 0.1
2 x 0.5
2 y 0.1
2 y 0.5
3 x 0.1
3 x 0.5
3 y 0.1
3 y 0.5
내가 수동으로 rep
에 호출을 작성하여이 작업을 수행 할 수 있습니다 :
d <- data.frame(A = rep(A, times=length(B)*length(C)),
B = rep(B, times=length(A), each=length(C)),
C = rep(C, each=length(A)*length(B))
하지만 더 우아한 방법이 있어야합니다. 그렇습니다. product
in itertools
은 작업의 일부를 수행하지만 반복자의 출력을 흡수하여 데이터 프레임에 넣을 수있는 방법을 찾을 수 없습니다. 어떤 제안?
p.s. 이 계산의 다음 단계는 한 번에 두 단계를 할 수있는 방법을 알고있는 경우
d$D <- f(d$A, d$B, d$C)
같은, 그 또한 도움이 될 것 같습니다.
함수 f가하는 것을 지정하면 유용 할 것입니다. – Ramnath
'f'는 몇 가지 다른 털이 많은 수학 계산 중 하나의 자리 표시 자입니다. 그러나이 질문의 목적 상, 여러분이 알아야 할 것은 N 개의 적절한 벡터 유형을 가져 와서 하나의 벡터를 생성한다는 것입니다. 모든 입력은 동일한 길이 여야하며 출력도 그 길이입니다. – zwol
이 질문의 제목을 변경하는 것이 좋습니다 ... "데이터 테이블"은 이제 R이 다른 것을 의미합니다. –