r - 如何在tidyverse中使用索引减去两个列
问题描述
我有一个数据框
df <- tibble(row1= c(1,2,3,4,5),
row2=c(2,3,4,5,6))
如何使用索引(而不是行名)减去两个列?我希望这个工作
df %>% mutate(diff= select(1)-select(2))
但是宇宙不在我这边……
解决方案
需要一个数据select
参数Usage
选择(。数据,...)
此外,由于select
返回 data.frame/tibble 作为输出,我们可以使用[[
library(dplyr)
df %>%
mutate(diff = select(., 1)[[1]] - select(., 2)[[1]])
-输出
# A tibble: 5 x 3
# row1 row2 diff
# <dbl> <dbl> <dbl>
#1 1 2 -1
#2 2 3 -1
#3 3 4 -1
#4 4 5 -1
#5 5 6 -1
或者改为使用pull
返回vector
df %>%
mutate(diff = pull(., 1) - pull(., 2))
推荐阅读
- objective-c - Swift 到 Objective-C 调用与尾随闭包调用错误的方法
- flutter - mqtt_client 无法在订阅颤动时发出消息
- vba - 使用 Access 2016 VBA 将 XML 文件附加到 PDF
- java - 从键盘读取值以将它们保存到数组中
- unity3d - 如何访问 Cinemachine Basic MutliChannel Perlin Noise?
- javascript - BroadcastChannel 有时不监听 useEffect
- elasticsearch - 对 zip_code 的 Elasticsearch 查询失败
- spring-boot - Alternative For OAuth2FeignRequestInterceptor as it is deprecated NOW
- c# - 带有 EF Core5 错误的多对多数据库
- python - 如何在直方图中显示温度系列的符号变化?