请找到在R中创建的数据表。我想按照对特定患者的方式对数据进行排序,比如说" Moon"或者" Son",无论日期发生何种冲突,我都希望相应的活动按字母顺序排列。仅仅是为了说明,如果你看到前三行,它应该是"处理"列值以B,C,D开头,而不是B,D,C。请帮忙。
pt1 <- read.table(
text = "
handling patient time Sorting
B_Registration Moon 2017-02-01 10
D_Triage Moon 2017-02-01 20
C_Performa Moon 2017-02-01 15
A_Form Son 2017-02-07 5
Operation2 Moon 2017-02-03 25
D_Triage Son 2017-02-01 20
A_Form Moon 2017-02-01 5
C_Performa Son 2017-02-07 15
Operation2 Son 2017-02-04 25
B_Registration Son 2017-02-04 10
",
header = TRUE,
stringsAsFactors = FALSE)
答案 0 :(得分:0)
或多或少粘贴Stephen Henderson's comment from above。 @Stephen Henderson随意复制这个答案,如果你想回答这个问题,请删除我的帖子。
pt1 %>% group_by(patient) %>% arrange(patient, time, handling)
#> # A tibble: 10 x 4
#> # Groups: patient [2]
#> handling patient time Sorting
#> <chr> <chr> <chr> <int>
#> 1 A_Form Moon 2017-02-01 5
#> 2 B_Registration Moon 2017-02-01 10
#> 3 C_Performa Moon 2017-02-01 15
#> 4 D_Triage Moon 2017-02-01 20
#> 5 Operation2 Moon 2017-02-03 25
#> 6 D_Triage Son 2017-02-01 20
#> 7 B_Registration Son 2017-02-04 10
#> 8 Operation2 Son 2017-02-04 25
#> 9 A_Form Son 2017-02-07 5
#> 10 C_Performa Son 2017-02-07 15
如果您不想对patient
进行排序,您甚至可以删除%>% group_by(patient)
,如果您愿意,
pt1 %>% group_by(patient) %>% arrange(time, handling)
#> # A tibble: 10 x 4
#> # Groups: patient [2]
#> handling patient time Sorting
#> <chr> <chr> <chr> <int>
#> 1 A_Form Moon 2017-02-01 5
#> 2 B_Registration Moon 2017-02-01 10
#> 3 C_Performa Moon 2017-02-01 15
#> 4 D_Triage Moon 2017-02-01 20
#> 5 D_Triage Son 2017-02-01 20
#> 6 Operation2 Moon 2017-02-03 25
#> 7 B_Registration Son 2017-02-04 10
#> 8 Operation2 Son 2017-02-04 25
#> 9 A_Form Son 2017-02-07 5
#> 10 C_Performa Son 2017-02-07 15