Tidy data.frame with repeated column names

前端 未结 2 791
心在旅途
心在旅途 2020-12-07 01:08

I have a program that gives me data in this format

toy
                file_path Condition Trial.Num A B  C  ID A B  C   ID  A B  C    ID
1     root/some.ext         


        
2条回答
  •  青春惊慌失措
    2020-12-07 01:31

    with tidyverse we can do :

    library(tidyverse)
    toy %>%
      repair_names(sep="_") %>%
      pivot_longer(-(1:3),names_to = c(".value","id"), names_sep="_") %>%
      select(-id)
    
    #> # A tibble: 15 x 7
    #>    file_path               Condition Trial.Num     A     B     C ID   
    #>                                    
    #>  1 root/some.extension     Baseline          1     2     3     5 car  
    #>  2 root/some.extension     Baseline          1     2     1     7 bike 
    #>  3 root/some.extension     Baseline          1     4     9     0 plane
    #>  4 root/thing.extension    Baseline          2     3     6    45 car  
    #>  5 root/thing.extension    Baseline          2     5     4     4 bike 
    #>  6 root/thing.extension    Baseline          2     9     5     4 plane
    #>  7 root/else.extension     Baseline          3     4     4     6 car  
    #>  8 root/else.extension     Baseline          3     7     5     4 bike 
    #>  9 root/else.extension     Baseline          3    68     7    56 plane
    #> 10 root/uniquely.extension Treatment         1     5     3     7 car  
    #> 11 root/uniquely.extension Treatment         1     1     7    37 bike 
    #> 12 root/uniquely.extension Treatment         1     9     8     7 plane
    #> 13 root/defined.extension  Treatment         2     6     7     3 car  
    #> 14 root/defined.extension  Treatment         2     4     6     8 bike 
    #> 15 root/defined.extension  Treatment         2     9     0     8 plane
    #> Warning message:
    #> Expected 2 pieces. Missing pieces filled with `NA` in 4 rows [1, 2, 3, 4].
    

提交回复
热议问题