我有一个包含多个列的数据框,我需要从此数据框中减去两列的值,并将结果值作为新列添加到同一数据集中。 有关如何在Rstudio中编写函数的任何想法吗?
提前致谢 远
答案 0 :(得分:1)
好的,我们假设我们有一个带有两个数字列的数据框,num1和num2(可能还有其他列),可能看起来像这样:
num1 num2
1 3 12
2 6 13
3 9 14
4 12 15
5 15 16
如果我们选择两列并从另一列中减去一列,则R会自动按元素减去它们的组件,因此尝试这是有意义的。此外,通过设置新列的值,R会自动为我们创建此列并将其添加到数据框中(感谢Vongo将其指向注释中)。
因此,如果我们要减去列' num1'从列#num;'并将其添加为另一列' num3'在我们的数据框中称为“df'”,我们可以尝试:
df$num3 <- df$num2 - df$num1
这给出了以下数据框:
num1 num2 num3
1 3 12 9
2 6 13 7
3 9 14 5
4 12 15 3
5 15 16 1
我希望有所帮助!
注意:如果你想重现我为这个例子制作的数据框,下面两行代码应该可以解决这个问题:
df <- data.frame(3*1:5, 12:16)
names(df) <- c('num1', 'num2')
答案 1 :(得分:0)
一种简单的方法是将另一列添加到现有数据框中,并用结果填充它。参见下面的示例
DF = data.frame(num1 = runif(10, min = 1, max = 5), num2 = runif(10, min = 10, max = 15))
DF$num3 = DF$num2 - DF$num1