2014-07-19 1 views
1

이것은 아마도 기본적인 질문 일지 모르지만 Google에 도움이되지 않았습니다.x, y, z 벡터를 매트릭스 (bin)에 저장하는 방법

저는 x, y, z 튜플을 가진 R 데이터 프레임을 가지고 있습니다. 여기서 z는 x와 y에 대한 응답이며 표면으로 모델링 할 수 있습니다.

> head(temp) 
     x   y  z 
1 36.55411 965.7779 1644.779 
2 42.36912 978.9721 1643.957 
3 58.34699 1183.7426 1846.123 
4 53.55439 1232.2696 1990.707 
5 50.76167 1115.2049 1281.988 
6 51.37299 1059.9088 1597.028 

내가

  0<x<40 40<x<60 60<x<80 x>80 
    0<y<800 1000.0 1100.00 1100.00 1000.0 
800<y<1200 1000.0 1200.00 1200.00 1000.0 
1200<y<1400 1000.0 1200.00 1200.00 1000.0 
    y<1400 1000.0 1100.00 1100.00 1000.0 

감사

답변

1

당신은 tapply를 사용할 수와 같은 비닝 y 값 및 비닝 X 값을 나타내는 열을 나타내는 행으로, 평균 Z 값의 행렬을 작성하고 싶습니다 cut 여기

with(temp, tapply(z, 
    list(
     y=cut(y, breaks=c(0,800,1200,1400,Inf), include.lowest=T), 
     x=cut(x, breaks=c(0,40,60,80,Inf), include.lowest=T) 
    ), 
    mean) 
) 

cut 함수는 xy을 원하는 그룹으로 나눕니다. tapply은 목록의 해당 값을 그룹화 할 때마다 여기에서 mean을 계산합니다.

#     x 
# y      (0,40] (40,60] (60,80] (80,Inf] 
# (0,800]     NA  NA  NA  NA 
# (800,1.2e+03]  1644.779 1592.274  NA  NA 
# (1.2e+03,1.4e+03]  NA 1990.707  NA  NA 
# (1.4e+03,Inf]   NA  NA  NA  NA 
관련 문제