在R中进行多次计算,类似于Excel中的数据表

时间:2016-07-25 11:33:07

标签: r excel

我在R中寻找与MS Excel中的数据表类似的函数/包(假设计算)。目前,我广泛使用Excel中的数据表来对数千行输入数据进行多次计算。我附上了在Excel数据表中完成的计算的快照:

enter image description here

换句话说,我的所有公式/计算都在电子表格的单个标签中,而所有输入数据都在另一个标签中(几千行)。我使用数据表操作来计算此数据集的每一行的结果。这使得我的电子表格仅在单个选项卡中进行了所有计算。现在我希望使用R实现相同的任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:1)

首先,让我们让您的问题重现:

df <- data.frame(case = 1:12,
                 x = seq(10, 120, by = 10),
                 y = seq(0.5, 1.6, by = 0.1),
                 z = seq(100, 210, by = 10))
head(df)
#   case  x   y   z
# 1    1 10 0.5 100
# 2    2 20 0.6 110
# 3    3 30 0.7 120
# 4    4 40 0.8 130
# 5    5 50 0.9 140
# 6    6 60 1.0 150

然后,我们可以用传统方式解决这个问题:

df$calc1 <- df$x * df$y
df$calc2 <- df$z / df$y
df$calc3 <- df$z + df$x

head(df)
#   case  x   y   z calc1    calc2 calc3
# 1    1 10 0.5 100     5 200.0000   110
# 2    2 20 0.6 110    12 183.3333   130
# 3    3 30 0.7 120    21 171.4286   150
# 4    4 40 0.8 130    32 162.5000   170
# 5    5 50 0.9 140    45 155.5556   190
# 6    6 60 1.0 150    60 150.0000   210

或者,您可以使用transform

transform(df, calc1 = x / y, calc2 = z / y, calc3 = z + x)