我在R中寻找与MS Excel中的数据表类似的函数/包(假设计算)。目前,我广泛使用Excel中的数据表来对数千行输入数据进行多次计算。我附上了在Excel数据表中完成的计算的快照:
换句话说,我的所有公式/计算都在电子表格的单个标签中,而所有输入数据都在另一个标签中(几千行)。我使用数据表操作来计算此数据集的每一行的结果。这使得我的电子表格仅在单个选项卡中进行了所有计算。现在我希望使用R实现相同的任何帮助。非常感谢。
答案 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)