Possible en double:
How can I declare a thousand separator in read.csv?valeurs Manipuler avec des virgules
J'ai en fait une solution à ce problème, mais je suis curieux de savoir s'il y a une meilleure façon de faire ce que je voulais faire.
Je gratté quelques données de la majorleaguesoccer.com et le lire en utilisant R
mls.reg.tmp <- read.table("../data/mls_reg_season_20100812.csv",
header = F, sep = ";")
Notez que je sep = ";" parce que certains des chiffres de fréquentation où des milliers sur les sites et je grattées « comme il est », par exemple,
> str(mls.reg.dat$a_tot)
Factor w/ 164 levels " 166,060"," 171,282",..: 132 45 159 153 46 160
158 148 150 98 ...
Avec le recul, j'ai juste enlevé les virgules en python dans l'étape de pré-traitement des ce projet. Je devrais également souligner qu'il y avait aussi des champs de texte dans l'ensemble de données.
> str(mls.reg.dat$team)
Factor w/ 20 levels "Chicago Fire",..: 4 9 19 11 3 10 13 16 5 6 ...
Étant donné que je veux utiliser les données de présence en tant que valeur numérique, je me suis converti à l'aide as.numeric et gsub. À titre d'exemple dans un appel à ggplot:
ggplot(data = mls.reg.dat, aes(x = as.numeric(gsub(",", "",
mls.reg.dat$a_tot)), y = sog)) + geom_point() +
facet_wrap(~ team)
Question: Est-ce la façon la plus efficace de travailler avec des données telles que cela? Ou y at-il une fonction spécialisée pour faire quelque chose dans ce sens?
Je poste la question ici parce que j'ai passé pas mal de temps (> 30 minutes) à travailler dans cette solution simple et que d'autres pourraient en bénéficier.
Merci; Je n'ai pas vu ce message. – rtelmore