【问题标题】:Insert a calculated row into a data table, with multiple columns将计算行插入到具有多列的数据表中
【发布时间】:2021-07-28 15:30:05
【问题描述】:

我希望将“计算项”行构建到具有多列的数据框中。我可以使用计算项在 excel PIVOT TABLE 中执行此操作,因此我认为在 R 中可以执行此操作。

我有一个 PERIODICITY 列,其中包括行中的“CURRENT”和“YEAR AGO”。我想添加一个计算 % CHG 的行,同时保持数据框中其他列的摘要级别。

【问题讨论】:

  • 您可以发布您尝试过的代码和示例数据吗?请使用您运行的代码和dput(df) 的输出编辑问题。或者,如果 dput(head(df, 20)) 的输出太大。 (注意:df 是数据集名称的占位符。)另外,%CHG 是指CURRENTYEAR AGO 两列之间的百分比变化吗?如果是,是否必须是百分比

标签: r


【解决方案1】:

随着最后创建的测试数据,这里是一个基本的 R 单线。注意使用新的匿名函数声明\(x)。这仅从 R v. 4.1.0 开始有效。对于 R 以前的版本,请使用 function(x)

df1$PERC_CHG <- apply(df1[c("YEAR_AGO", "CURRENT")], 1, \(x) diff(x)/x[1] * 100)

数据

set.seed(2021)
n <- 10
df1 <- data.frame(CURRENT = runif(n, 10, 100), 
                  YEAR_AGO = runif(n, 10, 100),
                  X = rnorm(n))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 2021-08-08
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多