1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| set.seed(111)
Data <- matrix(c(runif(10,2,5),rep(NA,10),runif(5),NA,NA,runif(3),NA,rnorm(9),rep(NA,10)),10,5)
R> Data
[,1] [,2] [,3] [,4] [,5]
[1,] 3.779 NA 0.55578 NA NA
[2,] 4.179 NA 0.59023 -0.49396 NA
[3,] 3.111 NA 0.06714 -0.17367 NA
[4,] 3.545 NA 0.04755 -0.40660 NA
[5,] 3.133 NA 0.15620 1.84564 NA
[6,] 3.255 NA NA 0.39405 NA
[7,] 2.032 NA NA 0.79753 NA
[8,] 3.597 NA 0.44643 -1.56667 NA
[9,] 3.296 NA 0.17144 -0.08585 NA
[10,] 2.281 NA 0.96653 -0.35914 NA
choixcol <- function(x) any(is.na(x) == FALSE)
# si tu veux choisir les bonnes colonnes
R> Data[,apply(Data,2,choixcol)]
[,1] [,2] [,3]
[1,] 3.779 0.55578 NA
[2,] 4.179 0.59023 -0.49396
[3,] 3.111 0.06714 -0.17367
[4,] 3.545 0.04755 -0.40660
[5,] 3.133 0.15620 1.84564
[6,] 3.255 NA 0.39405
[7,] 2.032 NA 0.79753
[8,] 3.597 0.44643 -1.56667
[9,] 3.296 0.17144 -0.08585
[10,] 2.281 0.96653 -0.35914
# au cas ou c'est un data frame ce qui est mieux si tu veux
# le nom des colonnes
Data <- as.data.frame(Data)
# et pour choisir tu fait
R> Data[sapply(Data,choixcol)]
V1 V3 V4
1 3.779 0.55578 NA
2 4.179 0.59023 -0.49396
3 3.111 0.06714 -0.17367
4 3.545 0.04755 -0.40660
5 3.133 0.15620 1.84564
6 3.255 NA 0.39405
7 2.032 NA 0.79753
8 3.597 0.44643 -1.56667
9 3.296 0.17144 -0.08585
10 2.281 0.96653 -0.35914
# ou Data[,!sapply(Data,choixcol)] |
Partager