【发布时间】:2019-09-06 15:53:56
【问题描述】:
我有以下数据框:
Categ <- rep(c("BODY", "FACE"), times = c(8,4))
Brand1 <- rep(c("XXX", "YYY"), times = c(8,4))
Product1 <- rep(c("X1", "X2", "Y1"), each =4)
Month <- rep(c("01-18", "02-18", "03-18", "04-18"), times =3)
Sales1 <- c(0,300,0,0,0,0,20,0,0,400,0,0)
df <- data.frame(Categ,Brand1, Product1,Month, Sales1 )
df
Categ Brand1 Product1 Month Sales1
1 BODY XXX X1 01-18 0
2 BODY XXX X1 02-18 300
3 BODY XXX X1 03-18 0
4 BODY XXX X1 04-18 0
5 BODY XXX X2 01-18 0
6 BODY XXX X2 02-18 0
7 BODY XXX X2 03-18 20
8 BODY XXX X2 04-18 0
9 FACE YYY Y1 01-18 0
10 FACE YYY Y1 02-18 400
11 FACE YYY Y1 03-18 0
12 FACE YYY Y1 04-18 0
如何将 Sales1 列中的值复制到 [i-1] 之前的一个单元格和 [i+1] 同一列中的值之后的一个单元格?
输出应如下所示:
Categ Brand1 Product1 Month Sales1
1 BODY XXX X1 01-18 300
2 BODY XXX X1 02-18 300
3 BODY XXX X1 03-18 300
4 BODY XXX X1 04-18 0
5 BODY XXX X2 01-18 0
6 BODY XXX X2 02-18 20
7 BODY XXX X2 03-18 20
8 BODY XXX X2 04-18 20
9 FACE YYY Y1 01-18 400
10 FACE YYY Y1 02-18 400
11 FACE YYY Y1 03-18 400
12 FACE YYY Y1 04-18 0
如果可能的话,我正在寻找基于 R 的解决方案。 有人可以帮忙吗?
【问题讨论】:
标签: r dataframe repeat replicate