Ho un data frame chiamato "newprice" (vedi sotto) e voglio cambiare i nomi delle colonne nel mio programma in R.
> newprice
Chang. Chang. Chang.
1 100 36 136
2 120 -33 87
3 150 14 164
Infatti questo è quello che sto facendo:
names(newprice)[1]<-paste("premium")
names(newprice)[2]<-paste("change")
names(newprice)[3]<-paste("newprice")
Non ho messo questo in un ciclo perché voglio che ogni nome di colonna sia diverso come vedete.
Quando incollo il mio programma nella console di R questo è l'output che mi dà:
> names(newprice)[1]<-paste(“premium”)
Error: unexpected input in "names(newprice)[1]<-paste(“"
> names(newprice)[2]<-paste(“change”)
Error: unexpected input in "names(newprice)[2]<-paste(“"
> names(newprice)[3]<-paste(“newpremium”)
Error: unexpected input in "names(newprice)[3]<-paste(“"
Ho anche provato ad usare la funzione c()
-per esempio c("premium")
, invece della funzione paste()
, ma senza successo.
Qualcuno potrebbe aiutarmi a risolvere questo problema?
Usate la funzione colnames()
:
R> X <- data.frame(bad=1:3, worse=rnorm(3))
R> X
bad worse
1 1 -2.440467
2 2 1.320113
3 3 -0.306639
R> colnames(X) <- c("good", "better")
R> X
good better
1 1 -2.440467
2 2 1.320113
3 3 -0.306639
Puoi anche sottoinvestire:
R> colnames(X)[2] <- "superduper"
L'errore è causato dalle "smart-quotes" (o come si chiamano). La lezione qui è, "non scrivere il tuo codice in un 'editor'che converte le citazioni in smart-quotes".
names(newprice)[1]<-paste(“premium”) # error
names(newprice)[1]<-paste("premium") # works
Inoltre, non c'è bisogno di paste("premium")
(la chiamata a paste
è ridondante) ed è una buona idea mettere degli spazi intorno a <-
per evitare confusione (es. x <- -10; if(x<-3) "hi" else "bye"; x
).