R 使用多个唯一标识符扩展我的数据帧

R 使用多个唯一标识符扩展我的数据帧,r,tidyr,spread,R,Tidyr,Spread,我正在尝试创建一个数据帧,该数据帧通过以下方式传播我的数据帧: 我的数据1我们可以更广泛地使用pivot\u -输出 # A tibble: 4 x 6 # Tank Bag ally_deformity nancy_deformity ted_deformity mark_deformity # <chr> <chr> <chr> <chr> <chr> <chr&

我正在尝试创建一个数据帧,该数据帧通过以下方式传播我的数据帧:

我的数据1我们可以更广泛地使用pivot\u

-输出

# A tibble: 4 x 6
#  Tank  Bag   ally_deformity nancy_deformity ted_deformity mark_deformity
#  <chr> <chr> <chr>          <chr>           <chr>         <chr>         
#1 1A    C1    spinal         NA              spinal        NA            
#2 1D    C2    eye            NA              NA            NA            
#3 1F    C2    NA             snout           NA            head          
#4 2A    T1    NA             NA              eye           NA            
 
我们可以更广泛地使用它

-输出

# A tibble: 4 x 6
#  Tank  Bag   ally_deformity nancy_deformity ted_deformity mark_deformity
#  <chr> <chr> <chr>          <chr>           <chr>         <chr>         
#1 1A    C1    spinal         NA              spinal        NA            
#2 1D    C2    eye            NA              NA            NA            
#3 1F    C2    NA             snout           NA            head          
#4 2A    T1    NA             NA              eye           NA            
 

使用base R,您可以执行以下操作:

reshape(my_data1, v.names = "deformity", timevar = "name", dir="wide", idvar = "Tank", sep="_")

  Tank Bag deformity_ally deformity_nancy deformity_ted deformity_mark
1   1A  C1         spinal            <NA>        spinal           <NA>
2   1D  C2            eye            <NA>          <NA>           <NA>
3   1F  C2           <NA>           snout          <NA>           head
6   2A  T1           <NA>            <NA>           eye           <NA>

使用base R,您可以执行以下操作:

reshape(my_data1, v.names = "deformity", timevar = "name", dir="wide", idvar = "Tank", sep="_")

  Tank Bag deformity_ally deformity_nancy deformity_ted deformity_mark
1   1A  C1         spinal            <NA>        spinal           <NA>
2   1D  C2            eye            <NA>          <NA>           <NA>
3   1F  C2           <NA>           snout          <NA>           head
6   2A  T1           <NA>            <NA>           eye           <NA>
使用dcast的data.table选项

给予

使用dcast的data.table选项

给予

   Tank Bag ally_deformity mark_deformity nancy_deformity ted_deformity
1:   1A  C1         spinal           <NA>            <NA>        spinal
2:   1D  C2            eye           <NA>            <NA>          <NA>
3:   1F  C2           <NA>           head           snout          <NA>
4:   2A  T1           <NA>           <NA>            <NA>           eye