说我data.frame看起来像这样
df <- data.frame(AAA = rep(c(NA,sample(1:10, 1)),5),
BBB = rep(c(NA,sample(1:10, 1)),5),
CCC = rep(c(sample(1:10, 1),NA),5))
> df
AAA BBB CCC
1 NA NA 10
2 3 7 NA
3 NA NA 10
4 3 7 NA
5 NA NA 10
6 3 7 NA
7 NA NA 10
8 3 7 NA
9 NA NA 10
10 3 7 NA
Run Code Online (Sandbox Code Playgroud)
我想将列CCC向下移动一个,以便所有数字在一行中对齐,然后删除不包含数据的行(通常每隔一行 - 但不总是 - 模式可能会因此而变化data.frame.
我想将来自不同国家/地区的价格调整到一个时区,这意味着将一列向上移动在另一列中声明的滞后时间(移动是时差)。
使用这样的示例数据:
example=data.frame(country=c("IT","IT","GR","GR","GR","TR","TR","TR","TR"),
price=c(200,150,300,480,590,638,237,438,555),
shift=c(0,0,1,1,1,2,2,2,2))
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
country price shift
IT 200 0
IT 150 0
GR 300 1
GR 480 1
GR 590 1
TR 638 2
TR 237 2
TR 438 2
TR 555 2
Run Code Online (Sandbox Code Playgroud)
我想得到以下结果:
country price shift
IT 200 0
IT 150 0
GR 480 1
GR 590 1
GR NA 1
TR 438 2
TR 555 2
TR NA 2
TR NA 2
Run Code Online (Sandbox Code Playgroud)
我试图从此线程使用一种解决方案: R:在数据帧UP的单列中移动值, 但由于它使用一个滞后值,因此并不完全适用。
我想在xts数据集中进行单列操作.我有一个非常大的数据集,所以我删除了一些数据和日期.下面的数据集是使用excel计算的,只显示从开始和结束的一些数据.
Date a b c
- 0.023
- 0.021 0.0214830
- 0.014 0.0142940 0.021483
- 0.008 0.0081120 0.014294
- 0.003 0.0030240 0.008112
- 0.002 0.0020060 0.003024
- 0 0 0.002006
- 0 0 0
- 0 0 0
- 0 0 0
- 0.001 0.0010000 0
- 0.003 0.0030030 0.001
- 0.005 0.0050150 0.003003
- 0.001 0.0010050 0.005015
- 0 0 0.001005
- -0.001 -0.0010000 0
- 0.002 0.0019980 -0.001
- 0.003 0.0030060 0.001998
- . . .
- . …Run Code Online (Sandbox Code Playgroud)