utilisation de colClasses dans fread
Je ne sais pas comment choisir des colonnes spécifiques en utilisant l'option colClasses
dans fread
. J'ai essayé d'utiliser NULL
, de plusieurs façons, mais rien n'a fonctionné. Voici un exemple minimal. Je veux juste les colonnes 1 et 3.
dt <- data.table(a=1:5,b=6:10,c=10:14)
write.csv(dt,"dt.csv",row.names=F)
dt <- fread("dt.csv",colClasses=?)
packageVersion("data.table")
[1] ‘1.8.10’
getRversion()
[1] ‘3.0.1’
L'ensemble de données importé devrait ressembler à ceci:
a c
1: 1 10
2: 2 11
3: 3 12
4: 4 13
5: 5 14
26
demandé sur
beginneR
2013-09-09 17:51:35
1 réponses
UPDATE: {[10] } Ceci est maintenant implémenté dans v1.8. 11 sur R-Forge à partir du commit 966. De nouvelles :
fread
'sdrop
,select
etNULL
danscolClasses
sont mises en œuvre. De supprimez ou sélectionnez les colonnes par nom ou par numéro. Voir les exemples dans?fread
.
Les exemples dans ?fread
sont:
data = "A,B,C,D\n1,3,5,7\n2,4,6,8\n"
# colClasses
fread(data, colClasses=c(B="character",C="character",D="character"))
fread(data, colClasses=list(character=c("B","C","D"))) # saves typing
fread(data, colClasses=list(character=2:4)) # same using column numbers
# drop
fread(data, colClasses=c("B"="NULL","C"="NULL")) # as read.csv
fread(data, colClasses=list(NULL=c("B","C"))) # same
fread(data, drop=c("B","C")) # same but less typing, easier to read
fread(data, drop=2:3) # same using column numbers
# select
# (in read.csv you need to work out which to drop)
fread(data, select=c("A","D")) # less typing, easier to read
fread(data, select=c(1,4)) # same using column numbers
38
répondu
Matt Dowle
2013-09-15 22:41:53