r - 改变管道链中的向量
问题描述
我想从管道链中的向量中减去 1。例如,mtcars$mpg
。
x <- mtcars
# I don't want to do this:
x %>% mutate(mpg = mpg - 1)
我正在寻找这样的东西:
x$mpg %>% mutate(. := .-1)
如果我在第二个块中写的内容不清楚,我正在尝试写,“取 mpg 矢量然后将其变异为 mpg - 1”
这可能吗?
解决方案
mutate/summarise
和其他 tidyverse 函数需要 a data.frame
as .data
。当我们提取列值时,要么使用magrittr
辅助函数subtract
library(magrittr)
x$mpg %>%
subtract(1)
或者阻塞a中的代码,{}
然后更新列
x$mpg %>%
{. -1} -> x$mpg
或者使用复合赋值运算符 ( %<>%
) 来更新列
head(x$mpg)
#[1] 21.0 21.0 22.8 21.4 18.7 18.1
x$mpg %<>%
{.- 1}
head(x$mpg)
#[1] 20.0 20.0 21.8 20.4 17.7 17.1
推荐阅读
- c# - 尝试在列表中打印列表时出现语法问题
- sql - 寻找有关 Oracle SQL Number DATA 的最新文档以回答规模问题
- r - 如何在另一个数据框中的特定时间范围内对按日期分组的数据框中的多个变量进行平均
- javascript - 如何使用 typescript 和 javascript 在 npm 包中导入 js
- swift - 如何将 Mapbox SDK 与 SwiftUI 集成
- azure - Azure CloudFile UploadFromFile“指定的资源名称包含无效字符”
- c# - 具有多对多和过滤功能的 Linq 查询或 Lambda
- python - Colaboratory|OSError: [Errno 5] 输入/输出错误
- oracle - 在 Oracle 中使用多个命名空间更新 CLOB 列
- java - 对 List 对象参数和多列条件使用 Spring jdbc 模板