0

我搜索了整个 stackoverflow 和互联网,但没有找到我简单问题的答案。我在 R 中添加了大量变量,其中一些具有算术运算,并希望避免为每个变量重复 Dataframename$。方括号显示了希望,但我无法让它们工作。我不想使用函数或循环,而是通过删除对 Dataframename 的如此多的引用来使代码更易于阅读。

例子:

NewVariable = Dataframename$Var1 + 6-Dataframename$Var2 + 7*(Dataframename$Var3 + Dataframename$Var4) + Dataframename$Var5..... 最多 50 个变量。

有没有一种简单的方法可以做到这一点?提前谢谢了。

4

3 回答 3

1

在基础 R 中,

with(Dataframename, {
       NewVariable = Var1 + 6-Var2 + 7*(Var3 + Var4) + $Var5..... })
于 2020-05-12T10:51:09.050 回答
0

是的,管道逻辑:

library(dplyr
Dataframename %>%
mutate(NewVar = Var1+Var2+Var3...)
于 2020-05-12T10:49:19.533 回答
0

一个旧的解决方案是使用“附加”
attach(Dataframename)

这允许您在没有前缀的情况下引用 Dataframename 中的变量,但通常不建议这样做,因为它可能会导致与附加数据帧的变量同名的函数产生歧义。

于 2020-05-12T10:52:43.963 回答