Migliore risposta
Ecco il mio data frame.
> data
Manufacturers
1 Audi,RS5
2 BMW,M3
3 Cadillac,CTS-V
4 Lexus,ISF
Quindi vorrei dividere i produttori e i modelli, in questo modo,
> data
Manufacturers Models
1 Audi RS5
2 BMW M3
3 Cadillac CTS-V
4 Lexus ISF
libreria (qdap);
colsplit2df (data ,, c (“Manufacturer”, “Model”), “,”)
OR
usa separate () di tidyr pacchetto
separate (DataTable, ColumnName, into = ”“, sep = ””)
O
Vorrei dividere una colonna in due allinterno di un data frame in base a un delimitatore. Ad esempio,
a|b
b|c
per diventare
a b
b c
allinterno di un frame di dati.
df <- data.frame(ID=11:13, FOO=c("a|b", "b|c", "x|y"))
separate(data = df, col = FOO, into = c("left", "right"), sep = "\\|")
ID left right
1 11 a b
2 12 b c
3 13 x y
anche se in questo caso le impostazioni predefinite sono abbastanza intelligenti da funzionare (cerca caratteri non alfanumerici su cui suddividere).
OPPURE
separate(data = df, col = FOO, into = c("left", "right"))
library(reshape2)
before = data.frame(attr = c(1,30,4,6), type=c("foo\_and\_bar","foo\_and\_bar\_2"))
newColNames <- c("type1", "type2")
newCols <- colsplit(before$type, "\_and\_", newColNames)
after <- cbind(before, newCols)
after$type <- NULL
after
Risposta
Ciao Ashutosh
Ci sono un numero di modi per modificare o rinominare il nome della colonna in R, dipende solo dalle tue esigenze.
1.Cambia i nomi delle colonne in un frame di dati: inizia con la prima colonna e va finché non si esauriscono i nomi che hai fornito. Ad esempio, se ci sono otto colonne nel frame di dati ma fornisci solo due nomi, verranno rinominate solo le prime due colonne.
Sintassi:
names(data) <- c("new\_name", "another\_new\_name")
2. Modifica il nome di una colonna utilizzando il nome per identificare a quale colonna applicare il nome.
Sintassi:
colnames(data)[colnames(data)=="old\_name"] <- "new\_name"
3. Modificare il nome di una colonna utilizzando il numero di colonna per identificare a quale colonna applicare il nome. Il codice seguente rinominerà la terza colonna nei dati del frame di dati con il nome new\_name.
Sintassi:
names(data)[3]<-"new\_name"
Nota: R consentirà a un campo di essere denominato con uno spazio ma non sarà possibile fare facilmente riferimento a quella colonna dopo il cambio di nome. Se hai bisogno di rendere i nomi delle colonne più leggibili per la presentazione, fallo come passaggio finale subito prima di esportare i dati da R.
Grazie!