2016-10-17 1 views
-1

나는 1000 명의 환자와 4 개의 변수를 포함하는 종단 데이터를 가지고 있습니다. 이러한 변수는 시간이 지남에 따라 반복적으로 측정됩니다. 시간은 환자마다 다릅니다. 제 질문은 모든 환자들을 R의 마지막 시간까지 정렬시키는 것입니다. 여기
데이터의 예 :마지막 시간까지 모든 환자를 정렬하는 방법 R

dput(head(mydata)) 
structure(list(Enum = c(15306L, 15306L, 15306L, 15306L, 11056L, 
    11056L), Sex = c(0L, 0L, 0L, 0L, 1L, 1L), Left_R = c(1L, 1L, 
    1L, 1L, 0L, 0L), Right_R = c(1L, 1L, 1L, 1L, 0L, 0L), risk = c(2, 
    1.5, 1.5, 1.5, 0, 0), Chol_val = c(4.1, 3.7, 3.9, 3.7, 5.2, 3.6 
    ), HbA1c_val = c(39L, 41L, 43L, 39L, 39L, 45L), eGFR_val = c(90, 
    NA, 90, 85, 82, 85), Duration = c(3682L, 3682L, 3682L, 3682L, 
    36L, 36L), Age = c(65L, 65L, 65L, 65L, 38L, 38L), time = c(0L, 
    392L, 756L, 1125L, 0L, 351L), BMI = c(23.301094832264, 22.4392735165502, 
    21.9604838967091, 22.6627066115703, 39.3535698314, 39.7355371900827 
    ), Status = c(0L, 0L, 0L, 0L, 0L, 0L)), .Names = c("Enum", "Sex", 
    "Left_R", "Right_R", "risk", "Chol_val", "HbA1c_val", "eGFR_val", 
    "Duration", "Age", "time", "BMI", "Status"), row.names = c(NA, 
    6L), class = "data.frame") 
+0

재현 가능한 데이터 예제를 제공 할 수 있습니까? dput (head (your_dataframe))을 사용하는 것이 좋은 방법입니다. –

+0

@JonnoBourne 내가 지금 해냈어. –

+0

데이터도 "line by by"여전히 매우 모호합니다. 좋은 예가 원하는 출력을 설명하고 설명해줍니다. 여기에 지침을 참조하십시오 : http://stackoverflow.com/a/28481250/ – Frank

답변

0

나는 당신이 그들을 주문하고자하는 경우가 측정

library(dplyr) 
test <- df %>% group_by(Enum) %>% mutate(maxtime = max(time)) %>% 
ungroup %>% arrange(maxtime, Enum) %>% select(-maxtime) 

을 준 최대 시간으로 patiants를 주문하려면 제대로 질문을 이해한다면 가장 작은 시간에서 가장 큰 시간까지 arrange(desc(maxtime), Enum)을 사용하십시오.

관련 문제