【发布时间】:2020-08-26 09:59:58
【问题描述】:
我有来自 3 个不同来源的医疗登记数据,对于我的许多变量,我有来自每个登记的多个条目。每行仅包含来自 1 个注册表(来源)的数据。我已经能够将这三个合并在一起以制作单个“新”变量,但我还想创建一个变量来说明合并变量的来源。 我不熟悉以这种方式使用 R(通常我会匆匆回到 excel 来操作变量),我花了一些时间寻找类似的例子,但找不到答案。任何帮助将不胜感激。 (第一次发帖,所以对我提出问题的建议也很有帮助)。
library(tidyverse)
df <- tibble(var1 = c(1,2,NA,NA,NA), var2 = c(NA,NA,3,4,NA),var3 = c(NA,NA,NA,NA,5))
df
#># A tibble: 5 x 3
#> var1 var2 var3
#> <dbl> <dbl> <dbl>
#>1 1 NA NA
#>2 2 NA NA
#>3 NA 3 NA
#>4 NA 4 NA
#>5 NA NA 5
#CoalesCe x, y and z to 'new' variable
>df$new <- coalesce(df$var1,df$var2,df$var3)
>df
#># A tibble: 5 x 4
#> var1 var2 var3 new
#> <dbl> <dbl> <dbl> <dbl>
#> 1 1 NA NA 1
#> 2 2 NA NA 2
#> 3 NA 3 NA 3
#> 4 NA 4 NA 4
#> 5 NA NA 5 5
#I would also like a variable that gives the 'source' of the coalesced variable, that
would look like below, but I cannot figure out how to do this
>df_final
#># A tibble: 5 x 5
#> var1 var2 var3 new source
#> <dbl> <dbl> <dbl> <dbl> <chr>
#>1 1 NA NA 1 var1
#>2 2 NA NA 2 var1
#>3 NA 3 NA 3 var2
#>4 NA 4 NA 4 var2
#>5 NA NA 5 5 var3
【问题讨论】: