0
데이터 형식이 긴 데이터 형식을 가지고 있으며 와이드 형식으로 변환하려고합니다. 데이터 프레임에는 고유 한 인스턴스로 취급하고 넓은 데이터 프레임의 개별 행으로 나타내는 여러 개의 반복 식별자가 있습니다.긴 형식에서 긴 형식으로 캐스팅 (각 반복마다 새 행 작성)
Forcing unique values before casting (pivoting) in R
그러나 위의 문제의 유일한 항목은 개별 열을 끝낼 :
내 질문은 이것과 유사하다. 내 질문에, 나는 데이터를 개별 행에 넣고 싶습니다. 예를 들면 : 나는 다양한 형식으로 내 데이터를 캐스팅 한 후
ID1<-c("A","A","A","A","A","B","B","B","B","B","C","C","C","C","C")
ID2<-c("R","R","R","L","L","R","R","L","L","R","R","L","L","R","R")
Sp<-c("Bird","Cat","Bird","Bird","Dog","Dog","Dog","Cat","Cat","Bird","Cat","Dog","Bird","Bird","Cat")
Count<-c(1,2,2,1,2,1,2,3,2,1,2,3,2,1,5)
DF<-data.frame(ID1,ID2,Sp,Count)
는,이처럼 보이도록 출력 데이터를 싶습니다
ID1 ID2 Bird Cat Dog
A R 1 2 0
A R 2 0 0 # 2 Birds in the A/ R combination so need second row (don't want to add them together)
A L 1 0 2
B R 1 0 1
B R 0 0 2
B L 0 3 0
B L 0 2 0
C R 1 2 0
C R 0 5 0
C L 2 0 3
을 고유 ID1/ID2 조합에는 반복이없는 경우 , 캐스팅 우월은 정상적으로 작동합니다. 그러나 반복이 있으면 두 번째 (또는 세 번째 또는 네 번째) 행이 만들어집니다.
당신은ID1
,
ID2
및
Sp
의 그룹 당 보조 ID 열을 만든 다음 ID 열로
ID1
,
ID2
및
AUXID
로 바꿀 수
을'reshape' 당신의 마지막에이를 추가 할 수 있습니다 dplyr ('reshape2'로드 후) dplyr chain : dcast (ID1 + ID2 + AUXID ~ Sp, value.var = "Count", fill = 0) %> % select (-AUXID)' – eipi10