所以我有一个数据集,其中有学生在课堂上的年份,以及他们在一年中的哪个季度,所以 2002 年是 4 次,它有季度 1、2、3、4,如下所示:
matrix(c(1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2002,2002,2002,2002,2003,2003,2003,2002,2002,2002,2002,2003,2003,2003,2003,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3),ncol=3,dimnames=list(c(NULL),c("ids","year","quarter")))
这给了我这个
ids year quarter
[1,] 1 2002 1
[2,] 1 2002 2
[3,] 1 2002 3
[4,] 1 2002 4
[5,] 1 2003 1
[6,] 1 2003 2
[7,] 1 2003 3
[8,] 2 2002 4
[9,] 2 2002 1
[10,] 2 2002 2
[11,] 2 2002 3
[12,] 2 2003 4
[13,] 2 2003 1
[14,] 2 2003 2
[15,] 2 2003 3
我想生成一个序列,在该序列中创建一个累积季度数的新变量,如果必须合并年份和季度并不难,但是我如何告诉它执行类似的序列
structure(c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2002,
2002, 2002, 2002, 2003, 2003, 2003, 2002, 2002, 2002, 2002, 2003,
2003, 2003, 2003, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3,
1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8), .Dim = c(15L, 4L
), .Dimnames = list(NULL, c("ids", "year", "quarter", "sequence quarters"
)))
给我这个
ids year quarter sequence quarters
[1,] 1 2002 1 1
[2,] 1 2002 2 2
[3,] 1 2002 3 3
[4,] 1 2002 4 4
[5,] 1 2003 1 5
[6,] 1 2003 2 6
[7,] 1 2003 3 7
[8,] 2 2002 4 1
[9,] 2 2002 1 2
[10,] 2 2002 2 3
[11,] 2 2002 3 4
[12,] 2 2003 4 5
[13,] 2 2003 1 6
[14,] 2 2003 2 7
[15,] 2 2003 3 8
我已经尝试过代表命令和序列等,但我不知道如何告诉它在每个参与者之后重新开始编号。季度数因学生而异,我不需要知道他们从哪个季度开始,这是大学数据,所以我想他们可以从第 2 季度开始(我还没有查看所有关于起始值的整个数据集6K 左右的参与者)但我只需要它来累积。我希望这个问题是适当的,并且我正确地格式化了我的问题。