在R多变量中转置数据(最好使用tidyverse或stargazer)

在R多变量中转置数据(最好使用tidyverse或stargazer),r,tidyverse,transpose,stargazer,R,Tidyverse,Transpose,Stargazer,我见过类似的主题,但似乎没有一个完全符合我的要求。如果这是一个重复的问题,请道歉 从tidyverse函数中,我能够生成以下内容: locationAndYear var1 var2 var3 var4 var5 var6 <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 City 2015 0.4

我见过类似的主题,但似乎没有一个完全符合我的要求。如果这是一个重复的问题,请道歉

从tidyverse函数中,我能够生成以下内容:

  locationAndYear  var1 var2  var3        var4  var5   var6
  <chr>           <dbl> <dbl> <dbl>       <dbl> <dbl>  <dbl>
1 City 2015       0.425 0.412 0.854       0.844 0.853  0.368
2 City 2016       0.270 0.259 0.842       0.834 0.856  0.456
3 City 2018       0.468 0.454 0.816       0.833 0.848  0.430
4 City 2019       0.336 0.604 0.842       0.852 0.887  0.525
这基本上是一个报告-所以最终我想做一个很好的表格格式,如stargazer


提前感谢您的建议

获取长格式数据,然后获取宽格式数据:

library(tidyr)
df %>%
  pivot_longer(cols = -locationAndYear, names_to = 'variable') %>%
  pivot_wider(names_from = locationAndYear, values_from = value)

# variable  City_2015 City_2016 City_2018 City_2019
#  <chr>     <dbl>     <dbl>     <dbl>     <dbl>
#1 var1      0.425     0.27      0.468     0.336
#2 var2      0.412     0.259     0.454     0.604
#3 var3      0.854     0.842     0.816     0.842
#4 var4      0.844     0.834     0.833     0.852
#5 var5      0.853     0.856     0.848     0.887
#6 var6      0.368     0.456     0.43      0.525
数据

df <- structure(list(locationAndYear = c("City_2015", "City_2016", 
"City_2018", "City_2019"), var1 = c(0.425, 0.27, 0.468, 0.336
 ), var2 = c(0.412, 0.259, 0.454, 0.604), var3 = c(0.854, 0.842, 
0.816, 0.842), var4 = c(0.844, 0.834, 0.833, 0.852), var5 = c(0.853, 
0.856, 0.848, 0.887), var6 = c(0.368, 0.456, 0.43, 0.525)), 
class = "data.frame", row.names = c(NA, -4L))

df获取长格式和宽格式的数据:

library(tidyr)
df %>%
  pivot_longer(cols = -locationAndYear, names_to = 'variable') %>%
  pivot_wider(names_from = locationAndYear, values_from = value)

# variable  City_2015 City_2016 City_2018 City_2019
#  <chr>     <dbl>     <dbl>     <dbl>     <dbl>
#1 var1      0.425     0.27      0.468     0.336
#2 var2      0.412     0.259     0.454     0.604
#3 var3      0.854     0.842     0.816     0.842
#4 var4      0.844     0.834     0.833     0.852
#5 var5      0.853     0.856     0.848     0.887
#6 var6      0.368     0.456     0.43      0.525
数据

df <- structure(list(locationAndYear = c("City_2015", "City_2016", 
"City_2018", "City_2019"), var1 = c(0.425, 0.27, 0.468, 0.336
 ), var2 = c(0.412, 0.259, 0.454, 0.604), var3 = c(0.854, 0.842, 
0.816, 0.842), var4 = c(0.844, 0.834, 0.833, 0.852), var5 = c(0.853, 
0.856, 0.848, 0.887), var6 = c(0.368, 0.456, 0.43, 0.525)), 
class = "data.frame", row.names = c(NA, -4L))

df小心看星者。最近发现了一个比较严重的bug,我不确定它是否已经修复。小心看星星的人。最近发现了一个比较严重的bug,我不确定它是否已经修复。感谢您的快速回复!这不感谢快速响应!就这样