1

I have a long data frame:

Group| Variable  |   Value  | 

0       A_pre          20            
1       B_post         19                
2       B_pre          30                
1       B_pre          25                
2       A_post         32              
0       B_pre          NA                
0       A_pre          19                
1       B_pre          20               
2       B_post         20
0       B_pre          30     

I would like to split the data frame using the terms "pre" and "post" to create a new grouping variable "phase" to look like this:

Group| variable  | Phase  |  Value | 

0       A          pre        20        
1       B          post       19        
2       B          pre        30        
1       B          pre        25        
2       A          post       32        
0       B          pre        NA        
0       A          pre        19        
1       B          pre        20        
2       B          post       20        
0       B          pre        30   
     

I have tried

example <- subset(df_long, variable = select(ends_with("pre") & select(ends_with("post"))))

and also

example2 <- subset(df_long, variable == "A_post" & variable == "A_pre")

The closest I have come is:

example4 <- df_long %>% 
  mutate(variable = paste0(substring(df_long$variable, 1, 1), ".", substring(df_long$variable, 2))) %>% 
separate(varible, into = c("test", "phase"), remove = FALSE)

but I am missing something.

amir.fathi
  • 97
  • 1
  • 13

0 Answers0