2017-12-12 6 views
1

R 생존 패키지 용으로 구성된 데이터가 있지만 다른 구조를 사용하는 Graphpad Prism에서 작동하도록 데이터를 내보내려고합니다. I 필요한 출력은 시간 후 종류 이상의 열 각 처리를 정리하고,이dcast와 비슷하지만 데이터 합계가 없음

Treatment Time Status 
A   3  1 
A   4  1 
A   5  0 
A   5  0 
A   5  0 
B   1  1 
B   2  1 
B   2  1 
B   3  1 
B   5  1 

같이

#Example data 
Treatment<-c("A","A","A","A","A","B","B","B","B","B") 
Time<-c(3,4,5,5,5,1,2,2,3,5) 
Status<-c(1,1,0,0,0,1,1,1,1,1) 
df<-data.frame(Treatment,Time,Status) 

은 R 생존 패키지 데이터 구조를 보인다. 각 개인은 상태에 따라 1 또는 0으로 기록됩니다.()

Time  A    B 
1       1 
2       1 
2       1 
3   1    1 
4   1       
5   0    1 
5   0    
5   0    

dcast를 내가 원하는 것과 유사한 무언가를하지만, 상태 값을 요약 및 시간 값을 일치하는 모든 개인을위한 하나 개의 셀에 병합합니다 : 출력은 다음과 같아야합니다.

도움 주셔서 감사합니다.

+2

시도해보십시오.'library (tidyverse); (치료, 상태, 채우기 = 0) %> % 선택 (- 새)' – Sotos

+0

정말 고마워요! 이것은 완벽 해. 그냥 (, fill = 0)을 (fill =)으로 변경하면 값이없는 행에 NA가 반환됩니다. – Crawdaunt

답변

0

내 실제 데이터에 Sotos 코드를 구현할 때 이상한 문제가 발생했습니다. 오류가 발생했습니다 :

Error in Math.factor(var) : ‘abs’ not meaningful for factors 

예를 들어 Sotos 코드가 작동하기 때문에 이상합니다. 내가 sapply 사용 예제 데이터 프레임을 선택하면()이 나에게 결과를 주었다

> sapply(df,class) 
Treatment  Time Status 
"factor" "numeric" "numeric" 

내 문제까지 내가 말할 수있는대로, 내 상태 변수가 내 예제에서 숫자로 읽을 수 있지만 정수 있다는이었다 내 실제 데이터 :

> sapply(df,class) 
Treatment  Time Status 
"factor" "numeric" "integer" 

.csv에서 데이터를로드 했으므로 변수 호출이 변경된 원인이 될 수 있습니다. as.numeric()을 사용하여 Status 변수를 변경 한 다음 데이터 프레임을 다시 생성했습니다.

Status<-as.numeric(df$Status) 
df<-data.frame(Treatment, Time, Status) 

새로운 데이터 프레임에 Sotos 코드를 적용 할 수있었습니다.