如何在R中创建具有重复次数或固定次数重复行的数据帧?
有时,在数据帧中需要重复的行,主要是用于扩展数据大小而不是收集原始数据。这样可以节省我们的时间,但是肯定会有一些偏见,不建议这样做。即使不建议这样做,但有时也有必要,例如,如果不可能收集原始数据,那么我们可以做到。如果这样做,则必须在分析报告中进行指定。在R中,我们可以将rep函数与seq_len和nrows一起使用,以创建具有重复行的数据帧。
示例
考虑下面的数据帧df-
> x<-1:10 > y<-letters[1:10] > df<-data.frame(x,y)
创建一个新的数据框,其中在原始行之后再打印一行-
> df[rep(seq_len(nrow(df)), times = 2), ] x y 1 1 a 2 2 b 3 3 c 4 4 d 5 5 e 6 6 f 7 7 g 8 8 h 9 9 i 10 10 j 1.1 1 a 2.1 2 b 3.1 3 c 4.1 4 d 5.1 5 e 6.1 6 f 7.1 7 g 8.1 8 h 9. 1 9 i 10.1 10 j
创建一个新的数据框,其中重复的行一张一张地打印-
> df[rep(seq_len(nrow(df)), each = 2), ] x y 1 1 a 1.1 1 a 2 2 b 2.1 2 b 3 3 c 3.1 3 c 4 4 d 4.1 4 d 5 5 e 5.1 5 e 6 6 f 6.1 6 f 7 7 g 7.1 7 g 8 8 h 8.1 8 h 9 9 i 9.1 9 i 10 10 j 10.1 10 j
通过数字序列重复每一行-
> df[rep(seq_len(nrow(df)), times = 1:10), ] x y 1 1 a 2 2 b 2.1 2 b 3 3 c 3.1 3 c 3.2 3 c 4 4 d 4.1 4 d 4.2 4 d 4.3 4 d 5 5 e 5.1 5 e 5.2 5 e 5.3 5 e 5.4 5 e 6 6 f 6.1 6 f 6.2 6 f 6.3 6 f 6.4 6 f 6.5 6 f 7 7 g 7.1 7 g 7.2 7 g 7.3 7 g 7.4 7 g 7.5 7 g 7.6 7 g 8 8 h 8.1 8 h 8.2 8 h 8.3 8 h 8.4 8 h 8.5 8 h 8.6 8 h 8.7 8 h 9 9 i 9.1 9 i 9.2 9 i 9.3 9 i 9.4 9 i 9.5 9 i 9.6 9 i 9.7 9 i 9.8 9 i 10 10 j 10.1 10 j 10.2 10 j 10.3 10 j 10.4 10 j 10.5 10 j 10.6 10 j 10.7 10 j 10.8 10 j 10.9 10 j