Longueur d'un vecteur

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Bastien Jornod
Messages : 1
Enregistré le : 08 Avr 2020, 08:27

Longueur d'un vecteur

Messagepar Bastien Jornod » 08 Avr 2020, 09:13

Bonjour,

J'ai importé un fichier avec la fonction resd.csv. Ce fichier est composé de plusieurs colonnes de différentes longueurs. Lorsque je visualise le tableau dans R, toutes les cases vides sont remplacées par de "NA". J'ai créé un vecteur par colonne et chaque vecteur à une même longueur, il prend donc en compte les NA.

Comment faire pour que ces NA n'apparaisse pas ? j'aimerai avoir des vecteurs de longueur identique aux nombre de chiffres dans les colonnes.

Merci d'avance

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Longueur d'un vecteur

Messagepar Eric Casellas » 08 Avr 2020, 09:31

Salut,

Il y a la fonction is.na qui permet d'identifier là où se trouvent les NA et ainsi de les filtrer quand tu extrait une colonne dans un vecteur.
Par exemple :

Code : Tout sélectionner

df <- data.frame(X=sample(c(NA, rnorm(10)), 100, replace=TRUE))
vect <- df$X[!is.na(df$X)]


Eric
Eric

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Longueur d'un vecteur

Messagepar Pierre-Yves Berrard » 08 Avr 2020, 09:33

Bonjour,

Par définition, tous les vecteurs d'un data.frame (que crée read.csv) ont la même longueur.
Pour avoir des objets de longueur différentes, il faut créer autant de vecteurs à part.
PY

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Longueur d'un vecteur

Messagepar Logez Maxime » 08 Avr 2020, 09:39

Pierre-Yves Berrard a écrit :Bonjour,

Par définition, tous les vecteurs d'un data.frame (que crée read.csv) ont la même longueur.
Pour avoir des objets de longueur différentes, il faut créer autant de vecteurs à part.

Bonjour,

Ou alors tu transformes le data.frame en liste et tu ne conserves que les valeurs qui ne sont pas NA (lapply(tab, function(x) x[!is.na(x)])).

Cordialement,
Maxime


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité