r - 如何用R中的列中的行进行计算
问题描述
我正在尝试对列中的行进行计算:我有一个产品的以下数据:
Day Price
1 3$
2 12$
3 4$
4 2$
5 4$
我想将一天的价格变化除以前一天,例如第 2 天:
12$/3$ = 4
结果应该是:
Day Price Calculation
1 3$ NA
2 12$ 4
3 4$ 0,33
4 2$ 0,5
5 4$ 2
我有一个 5000 价格的清单。我还担心如何在第 1 天获得 NA,因为无法计算。
谢谢!
解决方案
这是dplyr
唯一使用gsub
代替的解决方案parse_number
:
library(dplyr)
df %>%
mutate(Calculation=as.numeric(gsub("\\$", "", Price)),
Calculation=round(Calculation/lag(Calculation), 2))
Day Price Calculation
1 1 3$ NA
2 2 12$ 4.00
3 3 4$ 0.33
4 4 2$ 0.50
5 5 4$ 2.00
推荐阅读
- join - Hive-如何在 ON 语句中使用 OR 子句连接表
- linux - xdotool 错误:无法打开显示:(空)
- java - 在 Java 中修复文件未找到异常
- c# - 带输入参数的单元测试
- javascript - 想在 foreach 循环中使用加减号图标在折叠时使用 javascript
- sql - 视图(或内部查询)返回错误,因为记录不是其结果的一部分 (??)
- kubernetes - 如何在 Kubernetes pod 之间共享代码库?
- python - 即使终端关闭,如何使python脚本继续运行?
- spartacus-storefront - 覆盖 Spartacus refreshToken 方法
- java - @Version 注释无法正常工作