r - 如何在数据框表达式中引用多列?

标签 r dataframe

写这个很笨拙:

df$a <- df$b + df$c

有没有办法做到(相当于):
with df:
    $a <- $b + $c

最佳答案

我们可以使用 with命令

df$a <- with(df, b + c)

另一种选择是使用 attach , 然而 is not recommended
attach(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/

相关文章:

高效地将二进制数据读入 R

python - 如何计算基于多级索引的时间戳差异?

python - Pyspark - 具有重置条件的累积和

r - 在 R 中的同一个图表上绘制多列

R ggplot日期时间长轴和短轴断裂不对齐

r - 为什么ggplot2中的facet_wrap()可以用波形符(~)或vars()来表示?

r - 使用 dplyr 将行名称保留为 id

python - 如何根据错误值找到两个 pandas 系列之间的交集

python - 将列表附加到现有数据框

r - echarts4r ee_arrange 未在 Shiny 中显示