首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用R中特定行开头的百分比更改来创建新的列和数据框?

如何使用R中特定行开头的百分比更改来创建新的列和数据框?
EN

Stack Overflow用户
提问于 2020-04-16 17:39:00
回答 1查看 51关注 0票数 1

例如,假设我有以下数据集:

代码语言:javascript
复制
wage <- c(2100, 2100, 2500, 2400, 2300, 2200, 2700, 2300, 2900, 3000)
timestamp <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

example <- data.frame(wage, age)
example

我如何创建另一个数据帧来显示起始工资的百分比变化,其中我说哪一行是起始工资。例如,假设我想从第3行开始,在第9行结束。第一个值当然是0%的变化,这是工资2500,下一个值将是(2400-2500)*100/2400 = -4%,之后的下一个值将是(2300-2500)*100/2300 = -8%,以此类推,总共7行(第3-9行)。

所以它应该看起来像这样:

代码语言:javascript
复制
timestamp    wage%change
3            0
4            -4
5            -8
6            -12
7            8
8            -8
9            16

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-16 17:47:17

使用dplyr的一种方法:

代码语言:javascript
复制
library(dplyr)

start <- 3
end <- 9

example %>%
  slice(start:end) %>%
  mutate(wage_change = (wage - first(wage)) * 100/first(wage))

#  wage timestamp wage_change
#1 2500         3           0
#2 2400         4          -4
#3 2300         5          -8
#4 2200         6         -12
#5 2700         7           8
#6 2300         8          -8
#7 2900         9          16
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61247136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档