在R-studio中添加和计算新变量作为行



我是R-studio的初学者。我有一个长格式的列表,收集了312家公司的数据变量。从这些数据中,我想计算新的变量,并将它们添加为行,而不是列。例如,所有公司的总负债/总资产作为一个新变量。我似乎只能找到添加和计算新变量作为列的方法,但我需要的格式是长格式,而不是宽。最终目标是进行多变量回归。

这是Excel中数据结构的链接。https://i.stack.imgur.com/jNx96.jpg。RIC是公司的ID。这是一个公司的所有变量,一次一个。

提前谢谢你。

我依赖于多个YouTube视频和网站。我读过关于突变函数,但不知道如何添加新的变量作为行在正确的地方,而不是列。

第一列用数字命名公司,第二列用FCC代码命名公司,第三列用数值命名公司:

example <- data.frame(id = rep(1:3, 3),
fcc = rep(c("A", "B", "C"), each = 3),
data = round(rnorm(9, 1000, 200), 2))
print(example)
#>   id fcc    data
#> 1  1   A  931.25
#> 2  2   A  422.73
#> 3  3   A 1283.94
#> 4  1   B 1013.70
#> 5  2   B 1056.49
#> 6  3   B 1130.90
#> 7  1   C  734.10
#> 8  2   C  819.83
#> 9  3   C 1326.22

如果我没理解错的话,你是想要所有fcc == "A"对于所有fcc == "B"和所有fcc == "C"。这里有函数aggregate:

aggregate(data ~ fcc, data = example, FUN = sum)
#>   fcc    data
#> 1   A 3286.13
#> 2   B 3083.45
#> 3   C 2770.15

我看不出有什么理由,我建议不要将它添加到原始数据帧中。这些数据本质上是不同的。原始数据是一回事,聚合数据是另一回事,所以把它们放在同一列中是违背你应该如何使用R数据框架的。这听起来像是人们可能会在电子表格中做的事情(例如,MS Excel),但这并不是一个好主意。正如@I_O在他的评论中所写:有rbind,但我不打算证明这一点。

相关内容

  • 没有找到相关文章