Hoe een kolom toe te voegen als deze niet bestaat in r


U kunt de volgende aangepaste functie gebruiken om een of meer kolommen toe te voegen aan een dataframe in R als deze nog niet bestaan:

 add_cols <- function (df, cols) {
  add <- cols[!cols %in% names(df)]
  if (length(add) != 0) df[add] <- NA
  return (df)
}

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: voeg een kolom toe als deze niet bestaat in R

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo'),
                 dots=c(18, 22, 19, 14, 14, 11, 20))

#view data frame
df

  team position points
1 A Gu 18
2 A Fo 22
3 A Fo 19
4 A Fo 14
5 B Gu 14
6 B Gu 11
7 B Fo 20

Stel dat we de volgende kolommen aan het dataframe willen toevoegen als ze nog niet bestaan:

  • punten
  • hulp
  • stuitert

We kunnen hiervoor een aangepaste functie genaamd add_cols gebruiken:

 #define custom function to add columns to data frame if they do not exist
add_cols <- function (df, cols) {
  add <- cols[!cols %in% names(df)]
  if (length(add) !=0 ) df[add] <- NA
  return (df)
}

#add three columns if they don't already exist
df <- add_cols(df, c(' points ', ' assists ', ' rebounds '))

#view updated data frame
df

  team position points assists rebounds
1 A Gu 18 NA NA
2 A Fo 22 NA NA
3 A Fo 19 NA NA
4 A Fo 14 NA NA
5 B Gu 14 NA NA
6 B Gu 11 NA NA
7 B Fo 20 NA NA

Merk op dat de assists- en rebounds- kolommen aan het dataframe zijn toegevoegd, terwijl de puntenkolom dat niet was, omdat deze al bestond.

Merk ook op dat R elke waarde in de nieuwe kolommen eenvoudig vult met NA-waarden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe u een kolom aan een dataframe kunt toevoegen op basis van andere kolommen in R
Hoe u een indexkolom (numerieke ID) toevoegt aan een dataframe in R
Hoe u een lege kolom aan een dataframe toevoegt in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert