expand.grid (a, b, c)는 본질적으로 입체 큐브의 볼륨을 채우는 매트릭스의 a, b 및 c 값의 모든 조합을 생성합니다. 내가 원하는 것은 입방체를 중심으로 그 입방체 (또는 더 높은 차원의 구조체)에서 조각이나 선을 얻는 방법입니다.더 일반화 된 expand.grid 함수?
그래서, A, B, C 모두 홀수 길이 벡터는 (그래서 그들은 중심을 가지고),이 경우 것이의 그들이 길이 5. 내 가상 slice.grid 기능입니다 가정 해 봅시다 주어진 :
slice.grid(a,b,c,dimension=1)
은 세 개의 중심선을 따라 점 좌표의 행렬을 반환합니다. 대략 중심점이 세 번 반복되었으므로
rbind(expand.grid(a[3],b,c[3]),
expand.grid(a,b[3],c[3]),
expand.grid(a[3],b[3],c))
과 거의 같습니다. 또한, (교차점에 매트릭스 반복 점) 세 교차 축 - 정렬 평면이다
rbind(expand.grid(a,b,c[3]), expand.grid(a,b[3],c), expand.grid(a[3],b,c))
:
slice.grid(a,b,c,dimension=2)
는 매트릭스에 상당하는 복귀한다.
: 그리고
slice.grid(a,b,c,dimension=3)
expand.grid은 동일하다 (A, B, C).
이것은 세 가지 매개 변수로 그렇게 나쁘지는 않지만 이상적으로 expand.grid (a, b, c, d, e, f, dimension = 4) 함수에 전달 된 N 매개 변수를 사용하여이 작업을 수행하고 싶습니다. - 그 가능성은 3보다 큰 차원을 원할 것입니다.
expand.grid를 수행하고 필요한 지점을 추출하여 수행 할 수 있지만 그 기준을 작성하는 방법을 잘 모르겠습니다. 그리고 나는이 기능이 어떤 패키지에 어딘가에 자리 잡고 있다는 느낌을 항상 가지고 있습니다 ...
[편집] 맞습니다. 나는 이제 기준을 알아 냈다고 생각합니다 - 중심 값이 각 열. 크기가 +1보다 작거나 같으면 ...
하지만 전체 행렬을 빠르게 생성하는 것은 큰 도움이됩니다. 이제 할거야.
네를, 나는 했어 이런 식으로,하지만 중간 지점에 더 관심이있어 시퀀스의 중간 값에 대해 테스트했습니다. expand.grid의 두 가지를 많이 버리지 않고 그것을 수행하는 것이 좋을 것입니다. :) Tick for you. – Spacedman