根据日期冲突在R中排列数据表

时间:2018-02-06 09:14:26

标签: r dplyr mutate

请找到在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)

1 个答案:

答案 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