r - R 中数据帧的智能转置

标签 r dplyr tidyverse plyr transpose

我在 R 中有多个数字列 (mydata = summary(labo[sapply(mydata, is.numeric)]))然后执行数据框转换mydata<-as.data.frame(mydata)我将其作为“数据有”:

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  

我正在寻找一种方法来巧妙地将数据帧的输出转换为:

想要的数据:

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

最佳答案

一个选项是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)

数据

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

关于r - R 中数据帧的智能转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60892236/

相关文章:

r - 生存包错误R

使用 dplyr::mutate() 在列的子集上逐行 cor()

r - 在数据框中更有效地使用临时列(即时创建)

r - Group_by 并在大型数据帧上缓慢变异

r - 使用 Dbplyr 时将日期转换为年季度格式

r - 在 R 中按小时切割 POSIXlt 类型

r - 改变列表的逻辑

r - 如何将 fitdistrplus::fitdist 摘要转换为整齐的格式?

在没有 S-Plus 的情况下读取 S-Plus 数据库?

r - 使用 do 时保留列