【发布时间】:2018-07-17 21:56:08
【问题描述】:
我有一个按顺序包含交易数据的数据集。我已经有 Field1、Field2、Field3 和 Numeric1。如何在下表中创建 Index1 & Index2?第一个 A/BB/CCC 出现五次(Index1 = 1)(Index2 = 1 到 5)。接下来,A/BB/ddd 首次出现(Index1 = 1),其中包含三个记录(Index2 = 1 到 3)。之后,A/BB/CCC 又回来了四条记录(Index1 = 2 和 Index2 = 1 到 4)。这种交换一直发生,直到 Field1 = A 不再存在。现在我们转到 Field1 = T,整个过程重新开始。
例如,假设有两个人在打迷你高尔夫球。 Field1 代表每场比赛的日期,Field2 & Field3 代表分类变量,Numeric1 代表距离。 Index1 将代表他们在哪个洞上。 Index2 代表他们的笔画数。
感谢您的帮助。
Field1 Field2 Field3 Numeric1 Index1 Index2
A BB CCC 4 1 1
A BB CCC 2 1 2
A BB CCC 12 1 3
A BB CCC 25 1 4
A BB CCC -4 1 5
A BB ddd 30 1 1
A BB ddd 8 1 2
A BB ddd 1 1 3
A BB CCC 4 2 1
A BB CCC 21 2 2
A BB CCC 12 2 3
A BB CCC -4 2 4
A BB ddd 25 2 1
A BB ddd 9 2 2
A BB ddd -1 2 3
A BB CCC 9 3 1
A BB CCC -3 3 2
A BB CCC 1 3 3
A BB ddd 5 3 1
A BB CCC 3 4 1
A BB CCC 3 4 2
A BB CCC 4 4 3
A BB CCC 20 4 4
A BB CCC 51 4 5
...
T BB CCC 6 1 1
T BB CCC 5 1 2
T BB CCC 13 1 3
要重现的代码(来自@michaelvine):
Field1<-rep("A", 24)
Field2<-rep("BB", 24)
Field3<-c(rep("CCC", 5), rep("ddd",3),rep("CCC", 4), rep("ddd",3),rep("CCC", 3), rep("ddd",1),rep("CCC", 5))
Numeric1<-c(4,2,12,25,-4,6,2,1,4,21,12,-4,6,2,1,9,-3,1,-4,3,3,4,20,51)
Test_df<-data.frame(Field1,Field2,Field3,Numeric1)
【问题讨论】:
标签: r indexing conditional-statements