我在R中有一个带有变量(permno)的数据框,该变量是唯一的公司ID。对于每个公司,我估计了Intercept,r2_12,sue和car3。如下所示。
Permno Term Estimate
1 10001 Intercept 0.020
2 10001 r2_12 -0.010
3 10001 sue 0.007
4 10001 car3 0.140
5 10025 Intercept 0.007
6 10025 r2_12 -0.004
7 10025 sue 0.001
8 10025 car3 0.020
9 10026 Intercept 0.020
10 10026 r2_12 -0.010
11 10026 sue 0.002
12 10026 car3 0.030
现在,我想将行转换为列,因此每个Permno只有一行。这意味着Intercept,r2_12,sue和car3变为4个新列,如下所示:
Permno Intercept r2_12 sue car3
1 10001 0.020 -0.010 0.007 0.14
2 10025 0.007 -0.004 0.001 0.02
3 10026 0.020 -0.010 0.002 0.03
有谁知道我该怎么做?
您可以pivot_wider
从tidyr
库中执行以下操作:
library(tidyr)
df %>%
tidyr::pivot_wider(id_cols = Permno,
names_from = Term,
values_from = Estimate)
Permno Intercept r2_12 sue car3
<dbl> <dbl> <dbl> <dbl> <dbl>
1 1001 0.02 -0.01 0.007 0.14
数据
df <- data.frame("Permno" = rep(1001, 4),
"Term" = c("Intercept", "r2_12", "sue", "car3"),
"Estimate" = c(0.020, -0.010, 0.007, 0.140))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句