写这个很笨拙:
df$a <- df$b + df$c
有没有办法做到(相当于):
with df:
$a <- $b + $c
最佳答案
我们可以使用 with
命令
df$a <- with(df, b + c)
另一种选择是使用
attach
, 然而 is not recommendedattach(df)
df$a <- b + c
data.table
的另一种选择和 dplyr
正如@SymbolixAU 所建议的library(data.table)
setDT(df)[, a := b + c]
如果您喜欢
dplyr
链。library(data.table)
library(dplyr)
df %>%
mutate(a:= b + c)
在
%<>%
中还有正向管道运算符 ( magrittr
)不需要您再次将对象分配给变量的包。library(magrittr)
df %<>%
mutate(a = b + c)
另一个类似
with
正在使用 transform
(由@Maurits Evers 建议)df <- transform(df, a = b + c)
关于r - 如何在数据框表达式中引用多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50902668/