tidyverse
パッケージの dplyr::filter()
を使う方法もあります。
なお,列名(c
)ではなく列番号(3
)で指定するなら df[[3]]
を使います。
R
1library(tidyverse)
2
3N <- 860000
4flag <- paste0("chr", c("V", "W", "X", "Y"))
5set.seed(127)
6
7df <- data.frame(a = runif(N), b = runif(N),
8 c = sample(flag, N, replace = TRUE))
9head(df, n = 10)
10## a b c
11## 1 0.28510789 0.6525932 chrX
12## 2 0.06156252 0.4604521 chrV
13## 3 0.20760469 0.3686386 chrX
14## 4 0.14384433 0.5446151 chrX
15## 5 0.31067442 0.1983991 chrY
16## 6 0.74434070 0.7339179 chrX
17## 7 0.50072562 0.6571588 chrV
18## 8 0.26197449 0.9620552 chrW
19## 9 0.79383064 0.3612686 chrY
20## 10 0.80961544 0.3258545 chrX
21
22df2 <- df |>
23 dplyr::filter(!(c %in% c("chrX", "chrY")))
24 ## dplyr::filter(!(df[[3]] %in% c("chrX", "chrY")))
25head(df2)
26## a b c
27## 1 0.06156252 0.4604521 chrV
28## 2 0.50072562 0.6571588 chrV
29## 3 0.26197449 0.9620552 chrW
30## 4 0.84055898 0.3127375 chrV
31## 5 0.36470927 0.8804756 chrV
32## 6 0.71383384 0.8528818 chrV
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/06/06 22:30