r - 使用 dplyr 根据旧行值计算新行,并且不显示 R 中第一个值的 NA
问题描述
我的样本数据:
structure(list(state = c("Himachal_Pradesh", "Himachal_Pradesh", "Himachal_Pradesh", "Himachal_Pradesh", "Himachal_Pradesh",
"Himachal_Pradesh"), town_names = c("town_a", "town_a", "town_a",
"town_a", "town_a", "town_a"), sales_growth = c(67784.15767,
67784.15767, 67784.15767, 67784.15767, 67784.15767, 67784.15767
), key = c("growth_in_2019", "growth_in_2019", "growth_in_2019",
"growth_in_2019", "growth_in_2019", "growth_in_2019"), value = c(0.0220237807164989,
0.0220237807164989, 0.0220237807164989, 0.0220237807164989, 0.0220237807164989,
0.0220237807164989), year = c("2019", "2019", "2019", "2019",
"2019", "2019"), dates = structure(c(17896, 17927, 17955, 17986,
18016, 18047), class = "Date")), row.names = c(NA, -6L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), vars = c("state", "town1",
"key"), drop = TRUE, indices = list(0:5), group_sizes = 6L, biggest_group_size = 6L, labels = structure(list(
state = "Himachal_Pradesh", town_names = "town_a", key = "growth_in_2019"), row.names = c(NA,
-1L), class = "data.frame", vars = c("state", "town1", "key"
), drop = TRUE))
我正在尝试
Formula = traffic*(1+value)
为第一行和第二行计算一个称为增长的新列:它必须获取前一行值,然后计算:。previous_row*(1+value)
它必须是递增顺序。
nv2 <- nv2 %>%
group_by(state, town_names,dates) %>%
mutate(formula = sales_growth*(1+value)) %>%
mutate(formula = formula*(1+value))
state town_names dates formula
Himachal_pradesh town_a 2018-12-31 69,277.02
Himachal_pradesh town_a 2019-01-31 70,802.76
Himachal_pradesh town_a 2019-02-28 72,362.10
Himachal_pradesh town_a 2019-03-31 73,955.79
Himachal_pradesh town_a 2019-04-30 75,584.58
解决方案
推荐阅读
- java - Android工作室如何将上下文从mainactivity传递给另一个类
- bash - for循环连续2个文件并将参数传递给其他脚本
- javascript - javascript排序没有多个条目
- java - 我的应用程序在 Android 8.0 版本上失败原因:java.lang.IndexOutOfBoundsException:
- excel - 修复 MS Excel 中针对目标移动的公式
- wpf - 使用 MVVM 模型层中的 WPF 文本框内容
- java - 如何在 Java 中为 Android 项目制作 Text Bold 的特定部分?
- .htaccess - 重写的 URL 以一种奇怪的方式工作
- swift - Alamofire + Gloss:嵌套 JSON 数组不起作用
- python-3.x - Plotly:使用 pandas 数据框中的行名创建表