Интеллектуальная транспонирование кадра данных в R - PullRequest
2 голосов
/ 27 марта 2020

У меня есть несколько числовых c столбцов в R (mydata = summary(labo[sapply(mydata, is.numeric)])), затем я выполнил преобразование фрейма данных mydata<-as.data.frame(mydata), и у меня это как 'data have':

Var1         Var2           Freq    
1            cars Min.   : 1.100  
2            cars 1st Qu.: 3.375  
3            cars Median : 4.500  
4            cars Mean   :12.075  
5            cars 3rd Qu.:12.350  
6            cars Max.   :12.000  
7            cars      NA's   :3  
8            bikes Min.   : 12.00  
9            bikes 1st Qu.: 23.00  
10           bikes Median : 12.00  
11           bikes Mean   : 10.14  
12           bikes 3rd Qu.: 12.00  
13           bikes Max.   :12.00  
14           bikes     NA's   :2  
15           wheels  Min.   :10.00  
16            wheels  1st Qu.:12.00  
17            wheels  Median :10.00  
18            wheels  Mean   :10.54  
19            wheels  3rd Qu.:12.00  
20            wheels  Max.   :20.00  
21            wheels     NA's   :3  

Я ищу способ для умного переноса вывода кадра данных в следующее:

data want:

Var2 ! Min ! 1st Qu. ! Median ! 3rd Qu. ! Max. !  NA's 
cars !1.100! 3.375. .....
bikes!12.00! 23.00......

1 Ответ

2 голосов
/ 27 марта 2020

Один вариант: pivot_wider

library(dplyr)
library(tidyr)
df1 %>% 
   separate(Freq, into = c('VarN', 'Freq'), sep=":\\s*", convert = TRUE) %>% 
   select(-Var1) %>% 
   pivot_wider(names_from = VarN, values_from = Freq)

data

mydata <- summary(iris[sapply(iris, is.numeric)])
df1 <- as.data.frame(mydata) 
...