我该如何转置数据,使R中每个组仅包含一行?

棉结

我在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

有谁知道我该怎么做?

LMc

您可以pivot_widertidyr库中执行以下操作:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过一次读取一行来转置 Pandas Dataframe 中的数据?

如何转置熊猫数据框中的一行并创建一列?

如何使用R复制数据帧每个子组的第一行?

如何在每个组的多索引数据框中删除第一行?

将列中包含逗号的列中的每一行拆分为转置行

如何仅返回组中第一行的值

如何从第一行到包含特定值的行对每个组中的行进行切片?

如何合并数据帧中的行以在R中每个唯一ID有一行

如果在另一个数据帧中该组中有一行,如何删除该数据集中的组?

将行转置为列,但我只是从一组数据中选择需要转置的元素

转置数据框问题:对于每个df.index和df.column组合,在新数据框中创建一行

如果值大于上一行,如何删除每个组中的最后一行?

对于包含类别名称的每个类别行,从产品表中仅获取一行

熊猫数据框:获取组中每个子组的第一行的平均值

将每隔一行的数据转置为列

如何将数据从范围复制到表的最后一行(转置)?

转置/枢轴数据框,但不是同一行中的所有列

如何在excel中将所有四列转置在一行下并在四组中重复其余部分?

如何删除包含数据的范围中的每一行?

在每个组上拟合一个模型,并使用来自不在该组中的所有行的数据对其进行评估,R

熊猫数据框获取每个组的第一行

Groupby,转置每个组并乘以熊猫数据帧中的原始组

在熊猫数据框中为每个组添加第一行

按数据框中的 ID 对每个组的最后一行应用更改

根据熊猫数据框中的条件删除每个组的最后一行

使用dplyr在数据框中每个组的开头添加一行

如何在ssrs报告中仅显示表的行组的最后一行

Hive - 从包含至少一行的组中选择数据

如何在mysql中按id排除每个组中的最后一行?