Hoe een kolom te splitsen in R


Beste antwoord

Hier is mijn dataframe.

> data

Manufacturers

1 Audi,RS5

2 BMW,M3

3 Cadillac,CTS-V

4 Lexus,ISF

Dus ik zou de fabrikanten en de modellen op deze manier willen splitsen,

> data

Manufacturers Models

1 Audi RS5

2 BMW M3

3 Cadillac CTS-V

4 Lexus ISF

bibliotheek (qdap);

colsplit2df (data ,, c (“Fabrikant”, “Model”), “,”)

OF

gebruik scheiden () door tidyr pakket

scheiden (DataTable, ColumnName, into = ”“, sep = ””)

OF

Ik zou graag een kolom in tweeën splitsen binnen een dataframe op basis van een scheidingsteken. Bijvoorbeeld,

a|b

b|c

worden

a b

b c

binnen een dataframe.

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

hoewel in dit geval de standaardinstellingen slim genoeg zijn om te werken (het zoekt naar niet-alfanumerieke tekens om op te splitsen).

OF

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

Antwoord

Hallo Ashutosh

Er zijn een aantal manieren om de kolomnaam in R te wijzigen of hernoemen, het hangt gewoon af van uw vereisten.

1.Verander de namen van de kolommen in een dataframe - Dit begint met de eerste kolom en gaat totdat het geen namen meer heeft die u heeft opgegeven. Als uw dataframe bijvoorbeeld acht kolommen bevat maar u slechts twee namen opgeeft, worden alleen de eerste twee kolommen hernoemd.

Syntaxis:

names(data) <- c("new\_name", "another\_new\_name")

2. Wijzig de naam van een kolom met behulp van de naam om aan te geven op welke kolom de naam moet worden toegepast.

Syntaxis:

colnames(data)[colnames(data)=="old\_name"] <- "new\_name"

3. Wijzig de naam van een kolom met behulp van het kolomnummer om aan te geven op welke kolom de naam moet worden toegepast. De volgende code zal de derde kolom in de dataframegegevens hernoemen naar de naam nieuwe\_naam.

Syntaxis:

names(data)[3]<-"new\_name"

Opmerking: R staat toe dat een veld een naam krijgt met een spatie, maar je zult niet gemakkelijk naar die kolom kunnen verwijzen na de naamswijziging. Als u kolomnamen leesbaarder wilt maken voor presentatie, doe dit dan als laatste stap net voordat u de gegevens van R. exporteert.

Bedankt!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *