【发布时间】:2016-04-18 11:11:18
【问题描述】:
我有一个看起来像上面那个的 data.frame。我需要根据第二列的值替换第一列中的值,但是替换需要继续第 1 列的数值,并且仅在 !ValB==A 时替换第 1 列中的值
>df1
ValA ValB
1 A
1 A
2 A
2 A
3 A
3 A
4 A
4 A
1 B
1 B
1 B
2 B
2 B
3 B
4 B
4 B
1 C
1 C
2 C
2 C
3 C
3 C
4 C
1 C
我想要的是替换 column1 中的值,但使用 ValB==B 作为替换 ValA 中的值的索引。替换必须继续ValA 中的值,即当有1 和ValB==B 时,ValA 必须是5,2 必须是6 等等.请在这里是所需的输出,这将使我更容易理解我在做什么。我可以用 if 和 elseif 语句做一个 for 循环,但我确信有一种更清洁的方法,
期望的输出
>df1
ValA ValB
1 A
1 A
2 A
2 A
3 A
3 A
4 A
4 A
5 B
5 B
5 B
6 B
6 B
6 B
7 B
7 B
8 C
8 C
9 C
9 C
10 C
10 C
11 C
12 C
【问题讨论】: