提问人:Theresa M. 提问时间:4/18/2023 最后编辑:benson23Theresa M. 更新时间:4/18/2023 访问量:32
R 每 n 行删除几行
R Deleting several rows each nth row
问:
例如,如何用 NA 替换每 7 行的前 3 行?
df<-data.frame(A=1:50, B=rnorm(50), C=rep(letters, length.out = 50,each=7))
结果应如下所示:
一个 | B | C |
---|---|---|
1 | 那 | 一个 |
2 | 那 | 一个 |
3 | 那 | 一个 |
4 | 0.8 | 一个 |
5 | 0.4 | 一个 |
6 | 1.9 | 一个 |
7 | 0.6 | 一个 |
8 | 那 | B |
9 | 那 | B |
10 | 那 | B |
11 | 2.0 | B |
12 | 1.4 | B |
13 | 0.9 | B |
14 | 2.6 | B |
15 | 那 | C |
答:
2赞
Allan Cameron
4/18/2023
#1
你可以使用一些模块化算术seq(nrow(df))
within(df, B <- ifelse(seq(nrow(df)) %% 7 %in% 1:3, NA, B))
#> A B C
#> 1 1 NA a
#> 2 2 NA a
#> 3 3 NA a
#> 4 4 0.02741642 a
#> 5 5 -0.67145705 a
#> 6 6 0.94627769 a
#> 7 7 0.25816784 a
#> 8 8 NA b
#> 9 9 NA b
#> 10 10 NA b
#> 11 11 -1.15711593 b
#> 12 12 -0.01334942 b
#> 13 13 0.24906125 b
#> 14 14 0.77097286 b
#> 15 15 NA c
#> 16 16 NA c
#> 17 17 NA c
#> 18 18 0.49594857 c
#> 19 19 -0.63520868 c
#> 20 20 -0.57030124 c
#> 21 21 -0.21919383 c
#> 22 22 NA d
#> 23 23 NA d
#> 24 24 NA d
#> 25 25 0.25040139 d
#> 26 26 -0.48032016 d
#> 27 27 -1.74825005 d
#> 28 28 -0.51286524 d
#> 29 29 NA e
#> 30 30 NA e
#> 31 31 NA e
#> 32 32 -0.39429720 e
#> 33 33 1.26663095 e
#> 34 34 -1.09251405 e
#> 35 35 0.75869713 e
#> 36 36 NA f
#> 37 37 NA f
#> 38 38 NA f
#> 39 39 0.02250949 f
#> 40 40 -0.02175766 f
#> 41 41 -1.71951468 f
#> 42 42 -0.59438247 f
#> 43 43 NA g
#> 44 44 NA g
#> 45 45 NA g
#> 46 46 -0.26508709 g
#> 47 47 0.34341742 g
#> 48 48 -1.09915861 g
#> 49 49 1.86775918 g
#> 50 50 NA h
创建于 2023-04-18 使用 reprex v2.0.2
2赞
benson23
4/18/2023
#2
或者我们可以提供一系列行位置,该序列将转换为 .NA
df[sort(unlist(sapply(1:3, \(x) seq(x, nrow(df), 7)))), 2] <- NA
A B C
1 1 NA a
2 2 NA a
3 3 NA a
4 4 -0.16018593 a
5 5 1.09432118 a
6 6 1.09231598 a
7 7 1.09955174 a
8 8 NA b
9 9 NA b
10 10 NA b
11 11 -1.73993188 b
12 12 -0.63098206 b
13 13 1.37677644 b
14 14 1.09286735 b
15 15 NA c
16 16 NA c
17 17 NA c
18 18 -0.41984647 c
19 19 -0.46185401 c
20 20 0.32764327 c
21 21 -0.91431370 c
22 22 NA d
23 23 NA d
24 24 NA d
25 25 -0.16228344 d
26 26 0.31038085 d
27 27 0.49325777 d
28 28 -0.48162096 d
29 29 NA e
30 30 NA e
31 31 NA e
32 32 1.23543253 e
33 33 0.26540767 e
34 34 -1.09335615 e
35 35 0.15170924 e
36 36 NA f
37 37 NA f
38 38 NA f
39 39 0.09250263 f
40 40 0.27756558 f
41 41 0.01371171 f
42 42 0.75037088 f
43 43 NA g
44 44 NA g
45 45 NA g
46 46 0.92522200 g
47 47 -0.09556295 g
48 48 0.48275797 g
49 49 -1.11095957 g
50 50 NA h
评论