Come dividere una colonna in R


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!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *