J'ai un ensemble de données .csv avec de nombreuses valeurs manquantes, et j'aimerais que R les reconnaisse toutes de la même manière (la manière "correcte") lorsque je lis le tableau. J'ai utilisé:
import = read.csv("/Users/dataset.csv",
header =T, na.strings=c(""))
Ce script remplit toutes les cellules vides avec quelque chose, mais il n'est pas cohérent. Lorsque je regarde les données avec head(import)
, certaines cellules manquantes sont remplies avec <NA>
Et certaines cellules manquantes sont remplies avec NA
. Je crains que R traite ces deux façons d'identifier les valeurs manquantes différemment lorsque vous commencez à analyser l'ensemble de données, donc je voudrais que l'importation soit lue uniformément dans ces valeurs manquantes.
Enfin, certaines des valeurs manquantes dans mon fichier csv sont représentées avec un point uniquement. J'aimerais également que ces périodes soient représentées par la notation de valeur manquante correcte lorsque j'importe dans R.
Le <NA>
vs NA
signifie simplement que certaines de vos colonnes sont des caractères et certaines sont numériques, c'est tout. Absolument rien de mal à cela.
Comme Ben l'a mentionné ci-dessus, si certaines de vos valeurs manquantes dans le csv sont représentées par une seule période, .
, vous pouvez alors spécifier un vecteur de valeurs qui devrait être traité comme NA
s via:
na.strings=c("",".","NA")
comme argument pour read.csv
.
Oui, j'ai eu le même problème. Quand j'ai exécuté:
rm(list=ls())
getwd()
setwd("C:/Users/JOSEP/Documents/UNI/Estadística Nitrats/Estadistica/Nitrats")
Nitrats_bo<- read.csv2("C:/Users/JOSEP/Documents/UNI/Estadística Nitrats/Dades/Nitrats Osona. Mireia.ActualitzatMunicipis_2016.csv", header=T)
head(Nitrats_bo)
fait du:
X2005 X2006 X2007 X2008 X2009 X2010 X2011 X2012 X2013 X2014 X2015 X2016
1 0.4 0.2 0,6 0,7 0,6 0,9 1 0.7 1.3 0.9 1
2 0.4 0.8 NR NR 0,7 0,8 0,9 1.1 1.1 0.9 NA
3 NA NA NA NA NA NA
4 NA NA NA NA NA NA
5 NA NA NA NA NA NA
6 NA NA NA NA NA NA
Parce qu'il y avait les facteurs "NR".
Donc, je jette ces facteurs "NR" et quand j'exécute ...
X2005 X2006 X2007 X2008 X2009 X2010 X2011 X2012 X2013 X2014 X2015 X2016
1 0.4 0.2 0.6 0.7 NA 0.6 0.9 1.0 0.7 1.3 0.9 1
2 0.4 0.8 NA NA NA 0.7 0.8 0.9 1.1 1.1 0.9 NA
3 NA NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA NA
Et ça va!
Je demande mais comment combiner numérique et facteurs dans une même colonne df.
Je vous remercie!
Vous pouvez également utiliser le package readr
, plus flexible, dont la fonction et l'argument équivalents sont read_csv()
et na
.
library(readr)
read_csv("file.csv", na = c(".", ".."))