0
votes

Transformation de données dans R: Séparlage d'un niveau en deux

J'ai un DF avec des données de niveau pays inscrites en 2003.

Plusieurs rangées de données appartiennent à un pays nommé «République fédérale de Yougoslavie». P>

Ce sont deux pays distincts aujourd'hui et je veux dupliquer ces lignes de données afin que je puisse renommer chaque ensemble de lignes à son nom de pays moderne respectif. P>

data.frame(Country = c("Serbia", "Montenegro"), Chickens = 567)


1 commentaires

Salut et bienvenue à tellement! Pouvez-vous fournir un exemple reproductible de votre jeu de données?


3 Réponses :


0
votes

Vous pouvez faire quelque chose comme ceci:

data2<-data[data$country=="Yugoslavia"]
levels(data2$country)[levels(data2$country)=="Yugoslavia"]<-"Serbia"
levels(data$country)[levels(data$country)=="Yugoslavia"]<-"Montenegro"
rbind(data,data2)


0 commentaires

1
votes

Vous pouvez faire dans un Tidyverse code> tuyau: xxx pré>

Vous pouvez également utiliser mutate_if code> au lieu du if_else Code> Déclarations. P>

%>% mutate(Country = as.factor(Country))


0 commentaires

0
votes

Vous pouvez écrire une fonction qui renvoie les lignes dupliquées et renommées comme: xxx pré>

ou si la commande n'a pas d'importance: p> xxx pré>

Données: P>

x <- data.frame(Country = c("Italy","Yugoslavia","Austria"), Chickens = c(2,567,3))
x
#     Country Chickens
#1      Italy        2
#2 Yugoslavia      567
#3    Austria        3


0 commentaires