r - 如何按第一行/上一行划分新列中的行?
问题描述
我想创建两列:
- 下一行的值应该除以第一行的值。
- 为了将下一行的值除以上一行的值并以百分比表示。
数据
No Value
1 10
2 15
3 5
4 10
5 40
结果:
1.
No Value V2
1 10 1
2 15 1,5
3 5 0,5
4 10 1
5 40 4
2.
No Value V2 V4
1 10 1 100%
2 15 1,5 150%
3 5 0,5 33,33%
4 10 1 200%
5 40 4 400%
解决方案
一种选择是
library(dplyr)
df1 %>%
mutate(V2 = Value/first(Value),
V4 = 100 * Value/lag(Value, default = first(Value)) )
#No Value V2 V4
#1 1 10 1.0 100.00000
#2 2 15 1.5 150.00000
#3 3 5 0.5 33.33333
#4 4 10 1.0 200.00000
#5 5 40 4.0 400.00000
推荐阅读
- c++ - C++ 使用 Keccak 库
- ruby - 如何覆盖 graphql-ruby 中的 camelCase 命名约定?
- c# - 完整的 .NET Framework 控制台应用程序中的 JSON 配置
- git - 当我在一个仓库中有客户端和服务器代码时,如何管理我的仓库?
- ios - 为什么表头视图中的这些约束不明确?
- hyperledger-fabric - 创建一个独特的 Hyperledger 管理卡和设置
- java - 带有 Angular 6 的 Spring Boot JWT CORS
- java - Java - 清除屏幕在执行后清除打印的文本
- python - Tkinter 工具栏未显示
- apache-kafka - Kafka:序列化时的消息大于您使用 max.request.size 配置配置的最大请求大小