2011-09-02 2 views
3

나는이R에서 행렬의 결과를 행렬로 어떻게 반환합니까?

x = data.frame(numerator = 1:3, value = letters[1:3],value1=letters[4:6]) 
xa = aggregate(list(x$numerator),by=list(x$value,x$value1),FUN=sum) 

같은 코드의 조각을 실행하지만 결과 XA이

Group.1 Group.2 X1.3 
1  a  d 1 
2  b  e 2 
3  c  f 3 

같은 형식의입니다 내 결과가 행이 표시되도록 매트릭스 형식으로 구성 할 싶습니다 그룹 1 값에 의해 표시되며 열은 다음과 같은 Group.2 값으로 표시됩니다.

d e f 
a 1 NULL NULL 
b NULL 2 NULL 
c NULL NULL 3 

어떻게하면됩니까?

+3

재현 예제는 당신에게 더 많은 응답을 얻을 가능성을 – richiemorrisroe

답변

3

plyr 패키지의 daply를 사용할 수 있습니다.

xa = daply(.data=x, 
      .variables=c("value","value1"), 
      .fun=function(x) sum(x$numerator)) 
0

우리는 BASE의 R 기능을 사용할 수 있습니다

tapply(x$numerator,x[,2:3],I) 
     value1 
value d e f 
    a 1 NA NA 
    b NA 2 NA 
    c NA NA 3 
관련 문제