donc je la question data.table suivante:.Problème avec changement de nom data.table
library(data.table)
dt1<-data.table(V1=runif(10),V2=sample(10),ID=1:10)
dt1
V1 V2 ID
1: 0.26880759 10 1
2: 0.59148373 9 2
3: 0.15106101 8 3
4: 0.64780998 5 4
5: 0.09067745 7 5
6: 0.57337100 2 6
7: 0.17920313 3 7
8: 0.87948063 4 8
9: 0.25167438 1 9
10: 0.82715461 6 10
et je suis désireux d'effectuer un changement de nom de la colonne (à l'exception d'une colonne, à savoir le « ID ») Bien que names(dt1[,-"ID"])
œuvres OK cédant:
[1] "V1" "V2"
la commande suivante échoue:
names(dt1[,-"ID"])<-c("souksou","mouksou")
Error in -"ID" : invalid argument to unary operator
Bien sûr, la question est déri SSED via:
names(dt1)[!(names(dt1) %in% "ID")]<-c("souksou","mouksou")
names(dt1)
[1] "souksou" "mouksou" "ID"
Ma question à la communauté est pourquoi cela se produit.
vous devez utiliser la fonction 'setnames' – Cath
@Cath élaborer un peu ... – amonk
' setnames (DT1, c ("V1", « V2 "), c (" souksou "," mouksou "))". 'setnames' est le moyen de renommer les colonnes par référence dans un' data.table'. – Cath