gpt4 book ai didi

r - r中的季度增长计算

转载 作者:行者123 更新时间:2023-12-01 12:24:56 24 4
gpt4 key购买 nike

我有不同业务部门的季度计划收入值。我有以下数据集:

segment  Q1_Revenue  Q2_Revenue  Q3_Revenue  Q4_Revenue

A 1002 100 279 787

B 985 300 658 456

C 478 745 5478 100

或:

revenues <- data.frame(segment = c('A','B','C'),
Q1_Revenue = c(1002,985,478),
Q2_Revenue = c(100,300,745),
Q3_Revenue = c(279,658,5478),
Q4_Revenue = c(787, 456, 100),
stringsAsFactors = F)

我想使用循环计算季度到季度的增长,以便它是动态的。我可以使用 SQL 来做到这一点。但我想在列上使用循环,以便我可以获得所有季度明智的增长。例如:

  • Q4 到 Q1 增长,Q4 到 Q2 增长,Q4 到 Q3 增长;

  • Q3 到 Q2 增长,Q3 到 Q1 增长,Q2 到 Q1 增长。

任何线索将不胜感激。

谢谢

最佳答案

这是一种方法。它假定列已正确排序以开始。

growth = list()
for (base_q in 2:ncol(revenues)) {
for (growth_q in 2:base_q) {
if (base_q == growth_q) next
name = paste(names(revenues)[base_q], "to", names(revenues)[growth_q], sep = "_")
growth[[name]] = revenues[[base_q]] / revenues[[growth_q]]
}
}
data.frame(segment = revenues[[1]], growth)
# segment Q2_Revenue_to_Q1_Revenue Q3_Revenue_to_Q1_Revenue Q3_Revenue_to_Q2_Revenue Q4_Revenue_to_Q1_Revenue Q4_Revenue_to_Q2_Revenue
# 1 A 0.0998004 0.2784431 2.790000 0.7854291 7.8700000
# 2 B 0.3045685 0.6680203 2.193333 0.4629442 1.5200000
# 3 C 1.5585774 11.4602510 7.353020 0.2092050 0.1342282
# Q4_Revenue_to_Q3_Revenue
# 1 2.82078853
# 2 0.69300912
# 3 0.01825484

关于r - r中的季度增长计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com