Comment diviser une colonne en R


Meilleure réponse

Voici mon bloc de données.

> data

Manufacturers

1 Audi,RS5

2 BMW,M3

3 Cadillac,CTS-V

4 Lexus,ISF

Je voudrais donc diviser les fabricants et les modèles, comme ceci,

> data

Manufacturers Models

1 Audi RS5

2 BMW M3

3 Cadillac CTS-V

4 Lexus ISF

bibliothèque (qdap);

colsplit2df (data ,, c (« Fabricant », « Modèle »), « , »)

OU

utiliser séparé () par tidyr package

séparé (DataTable, ColumnName, into = ”“, sep = ””)

OU

Je voudrais diviser une colonne en deux dans un bloc de données en fonction dun délimiteur. Par exemple,

a|b

b|c

pour devenir

a b

b c

dans un bloc de données.

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

bien que dans ce cas les valeurs par défaut soient suffisamment intelligentes pour fonctionner (il recherche les caractères non alphanumériques sur lesquels fractionner).

OU

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

Réponse

Salut Ashutosh

Il y a un nombre de façons de changer ou de renommer le nom de la colonne dans R, cela dépend juste de vos besoins.

1.Changez les noms des colonnes dans un bloc de données - Cela commence par la première colonne et va jusquà ce quil soit à court des noms que vous avez fournis. Par exemple, sil y a huit colonnes dans votre bloc de données mais que vous ne fournissez que deux noms, seules les deux premières colonnes seront renommées.

Syntaxe:

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

2. Modifiez le nom dune colonne en utilisant le nom pour identifier la colonne à laquelle appliquer le nom.

Syntaxe:

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

3. Modifiez le nom dune colonne à laide du numéro de colonne pour identifier la colonne à laquelle appliquer le nom. Le code suivant renommera la troisième colonne des données du bloc de données en nom nouveau\_nom.

Syntaxe:

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

Remarque: R permettra à un champ dêtre nommé avec un espace mais vous ne pourrez pas facilement vous référer à cette colonne après le changement de nom. Si vous avez besoin de rendre les noms de colonnes plus lisibles pour la présentation, faites-le comme dernière étape juste avant dexporter les données de R.

Merci!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *