r - 如何在上面的行中减去一行?
问题描述
假设我有以下数据框df:
df <- data.frame("a"=c(2,5,9,3), "b"=(1:4))
a | b
-------
2 | 1
5 | 2
9 | 3
3 | 4
我现在想创建一个新列“c”,其值是所述列 (n) 和上面的列 (n-1) 之间的差异,因此在本示例中,它将是列 a 而不是 b 的行差异。
我正在寻找的最终输出如下:
a | b | c
-----------
2 | 1 | NA
5 | 2 | 3
9 | 3 | 4
3 | 4 | -6
先感谢您。
解决方案
使用dplyr
:
df <- data.frame("a"=c(2,5,9,3), "b"=(1:4))
library(dplyr)
df %>%
mutate(c = a - lag(a))
推荐阅读
- r - R中不等式系统的解域
- bash - AWS 循环命令将数百个卷从 GP2 转换为 GP3
- python - Plotly - 将多个子图与下拉菜单按钮相结合
- caching - AWS AppSync 解析程序缓存
- python - 如何区分数据类型“String、int、float ..等
- python - How to correlate different MRI sequences images in NIFTI format?
- javascript - Javascript Audio Html
- google-cloud-ai-platform-pipelines - Minimal permissions to submit a kubeflow pipeline
- python - Noticing a warning to limit scraped results with BeautifulSoup in Python
- javascript - Is it possible to set a cookie to expiry at the end of session and after 1 day?