【发布时间】:2020-04-10 10:47:07
【问题描述】:
我正在寻找类似于部分pivot_longer 的东西。下面的示例有效,但它并不优雅,并且当我有更多列 _1、_2、_n 时会变得混乱。有没有人厌倦了在家办公寻找挑战?
library(tidyr)
library(dplyr)
#>
#> Attache Paket: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
dt = tribble(
~pat, ~bmi_0, ~score_0, ~bmi_5, ~score_5,
"a",25,30, 28, 43,
"b",27,20, 21, 25,
"c",28,21, 23, 21
)
dt_0 = dt %>% select(pat, bmi = bmi_0, score = score_0) %>% mutate(when="0")
dt_5 = dt %>% select(pat, bmi = bmi_5, score = score_5) %>% mutate(when="5")
# Ok, this could be combined...
bind_rows(dt_0, dt_5)
#> # A tibble: 6 x 4
#> pat bmi score when
#> * <chr> <dbl> <dbl> <chr>
#> 1 a 25 30 0
#> 2 b 27 20 0
#> 3 c 28 21 0
#> 4 a 28 43 5
#> 5 b 21 25 5
#> 6 c 23 21 5
【问题讨论】: