r - 获取值位置的函数
问题描述
从这些数据中,我想要一个新列(“来自”),其中包含每行累积值的第一个值。它实际上应该是列“cum”+ 1 中的最后一个值。你将如何使用函数来执行此操作?想象很多行。
a <- c(5,5,4,3)
cum <- cumsum(a)
df <- data.frame(a,cum)
df
a cum
5 5
5 10
4 14
3 17
df$from <- c(1,6,11,15)
df
a cum from
5 5 1
5 10 6
4 14 11
3 17 15
解决方案
library(tidyverse)
a <- c(5,5,4,3)
cum <- cumsum(a)
df <- data.frame(a,cum)
df %>%
mutate(from = lag(cum, default = 0) + 1)
#> a cum from
#> 1 5 5 1
#> 2 5 10 6
#> 3 4 14 11
#> 4 3 17 15
由reprex 包于 2021-03-01 创建(v1.0.0)
推荐阅读
- java - SWIG“必须使用带符号整数值的 2 的补码表示编译此代码”错误
- javascript - 如何将内容/类型图像转换为图像?
- python - 在 python 中相交后我得到一个空列表
- c++ - 抛出数据成员的析构函数
- flutter - 使用自定义 JSON API 创建类似 Instagram 的 Flutter Stories
- python - 如何仅计算基于多个月的新用户反应,在 Python Pandas 的 CSV 的不同页面中?
- javascript - 等待js加载后再抓取
- ruby-on-rails - 如何使用 Docker 交互模式粘贴多行命令但不评估?
- javascript - `window.x` 全局变量在浏览器调试断点刷新期间持续存在
- python - python datetime 模块中的 12 小时制,PM 和 AM 不影响日期时间