Bonjour,
Dans mon dataframe, comment faire pour tester une colonne (qui contient du numéric et/ou des NA) et renvoyer un caractère si toutes les valeurs de cette colonne contiennent des NA, et une valeur calculée si il y a au moins une valeur numérique.
j'ai pensé utiliser une boucle if else mais je ne suis pas familière et après avoir fait plusieurs tests, j'aimerai bien que quelqu'un me dise si je suis sur la bonne voie, ou si je fais une grosse erreur, ou s'il y a plus simple...
Voila mon code en cours : je ne mets volontairement qu'une boucle pour une colonne, pour expliquer, mais si je réalise la boucle sur les colonnes Kerma, Kerma2 et Kerma3 je dois trouver comme valeurs:
pour la colonne Kerma : NK = valeur numérique entière, ici 30
pour la colonne Kerma2 :NK2 = un tiret (charater)
pour la colonne Kerma3 :NK3 = valeur entière, ici 29
Merci de vos conseils
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Kerma <- rnorm(30,mean = 5,sd = 1.5) Kerma2 <- rep ( "NA" , 30 ) Kerma3 <- c( "NA", rnorm(29, mean=6,sd=2)) DF <- data.frame(Kerma, Kerma2, Kerma3) for (i in 1:n) { if (!is.na(DF$Kerma[i]) { NK <- length(DF$Kerma) } Else { NK <- "-" } }
Matou
Partager