2014-01-24 2 views
0

설명서를 읽은 후에도 dcast 기능을 사용하는 방법에 대해서는 약간 혼란 스럽습니다. 다음과 같이 용융 된 데이터 프레임을 캐스팅하려합니다.여러 차원의 녹은 데이터 프레임을 어떻게 처리합니까?

> head(res) 
     factoroneid  factortwoid   val 
1    1    1 5.8223670800 
2    1    2 -1.3314644000 
3    1    3 0.7206910120 
4    1    4 0.0762039224 
5    1    5 2.7409736300 
6    1    6 0.0896606575 

res는 첫 번째 열과 두 번째 열이 색인으로 포함되어 있습니다. 행 번호로 1 열 데이터를 사용하고 열 번호로 2 열 데이터를 사용해야하고 3 열에서 값이있는 행렬을 생성해야합니다. 이런 식으로 노력하고 있지만 데이터가 올바르게 보이지 않습니다.

temp <- dcast(res, factoroneid + factortwoid ~ val) 

예상 출력해야한다 :

1   2  3  4 ... 
1 5.82 -1.33 0.72 0.076 ... 
2 
3 
4 
. 
. 

당신은 제안시겠습니까?

답변

1
dcast(res, factoroneid ~ factortwoid) 

저에게 맞는 작품입니다.

+0

감사합니다. 간단하게 보인다 :). 출력 결과에 val을 지정하는 방법을 잘 모르겠습니다. 더 잘 이해하기 위해,이 경우에는 단 하나의 열 때문에 값을 복사하지만 여러 열이 있으면 집계 함수 (예 : SUM)를 사용하여 여러 열을 집계해야합니다. 내 이해가 맞습니까? – Alok

+1

@Alok, 전적으로 아닙니다. 단일 'factoroneid ~ factorwoid'조합과 일치하는 동일한 열의 값이 여러 개있는 경우 집계 함수가 필요합니다. 캐스팅 된 데이터 프레임에 원하는 값 열이 여러 개있는 경우 먼저 값 열이 하나만 있고 그 다음에 'dcast'만 있도록 데이터를 더 녹여야합니다. [Andrie의 설명] (http://stackoverflow.com/questions/11608167/cast-multiple-value-columns)을 참조하십시오. 값이 여러 개인 컬럼을 보존하고 싶다면'value.var'를 사용하십시오. – BrodieG

관련 문제