r - 如何引用数据框表达式中的多个列?
问题描述
写这个很笨拙:
df$a <- df$b + df$c
有没有办法(相当于):
with df:
$a <- $b + $c
解决方案
我们可以使用with
命令
df$a <- with(df, b + c)
另一种选择是 using attach
,但不推荐使用
attach(df)
df$a <- b + c
@SymbolixAU 建议的data.table
另一个选项dplyr
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)
推荐阅读
- ios - 如何在iOS中相交两个矩形?
- graphics - MeshLab:填充网格中的裂缝
- android - 从其他数据库中检索数据(Android & Nativescript vue js)
- c# - 返回不同类型的类 - 最佳选择?
- javascript - 如何使用 jest 在 vuejs 中测试 API 调用?
- java - 使用 Java8 Stream 如果存在则获取字符串值,如果不存在则获取 null
- mysql - Mysql如何按2个条件选择行并且只显示其余列= null的那些?
- svg - 处理 - 未显示 svg 文件的可能错误是什么?
- javascript - 无法将 WebSocket 与 Broker Mosquitto 连接
- javascript - css 选择器 jquery:如何在特定类之后选择类的第一次出现