Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Manipulering af Rækker | Data Frames
Introduktion Til R

bookManipulering af Rækker

Ligesom kolonner kan rækker i et data frame også tilføjes eller fjernes.

Tilføjelse af enkelte rækker

For at tilføje en enkelt række kan du tildele en ny post til det næste tilgængelige rækkeindeks (nrow(data) + 1). Da et data frame kan indeholde forskellige typer værdier, skal den nye række angives som en liste (eller et data frame).

Note
Bemærk

Som standard kan tekstværdier blive konverteret til faktorer ved oprettelse af data frames. Dette kan give problemer ved tilføjelse af nye rækker. For at undgå dette skal du sætte stringsAsFactors = FALSE ved oprettelse af data frame.

Eksempel

123456789
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
copy

Tilføjelse af flere rækker

En anden metode til at tilføje rækker er ved at sammenflette to data frames med de samme kolonner ved hjælp af funktionen merge(). Dette gør det muligt at tilføje flere rækker på én gang.

Eksempel

123456789101112
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
copy

Fjernelse af rækker

For at fjerne rækker bruges negative indekser i kantede parenteser, ligesom med matricer.

Eksempel

12345678
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
copy
Opgave

Swipe to start coding

Du har en data frame store, der indeholder information om varer, deres priser og solgte mængder i en lille møbelforretning.

Din opgave er:

  1. Fjern rækken med 'Dining chair' (indeks 4) fra data framen store. Tildel resultatet til variablen store.
  2. Tilføj en ny række til data framen store ved at bruge list-metoden med følgende data:
ItemPriceSold
Kitchen cabinet7067
  1. Udskriv den ændrede data frame.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain how the merge function works for adding rows?

What happens if the columns in the two data frames don't match?

How do I remove multiple rows at once from a data frame?

close

Awesome!

Completion rate improved to 2.27

bookManipulering af Rækker

Stryg for at vise menuen

Ligesom kolonner kan rækker i et data frame også tilføjes eller fjernes.

Tilføjelse af enkelte rækker

For at tilføje en enkelt række kan du tildele en ny post til det næste tilgængelige rækkeindeks (nrow(data) + 1). Da et data frame kan indeholde forskellige typer værdier, skal den nye række angives som en liste (eller et data frame).

Note
Bemærk

Som standard kan tekstværdier blive konverteret til faktorer ved oprettelse af data frames. Dette kan give problemer ved tilføjelse af nye rækker. For at undgå dette skal du sætte stringsAsFactors = FALSE ved oprettelse af data frame.

Eksempel

123456789
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
copy

Tilføjelse af flere rækker

En anden metode til at tilføje rækker er ved at sammenflette to data frames med de samme kolonner ved hjælp af funktionen merge(). Dette gør det muligt at tilføje flere rækker på én gang.

Eksempel

123456789101112
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
copy

Fjernelse af rækker

For at fjerne rækker bruges negative indekser i kantede parenteser, ligesom med matricer.

Eksempel

12345678
name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
copy
Opgave

Swipe to start coding

Du har en data frame store, der indeholder information om varer, deres priser og solgte mængder i en lille møbelforretning.

Din opgave er:

  1. Fjern rækken med 'Dining chair' (indeks 4) fra data framen store. Tildel resultatet til variablen store.
  2. Tilføj en ny række til data framen store ved at bruge list-metoden med følgende data:
ItemPriceSold
Kitchen cabinet7067
  1. Udskriv den ændrede data frame.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
single

single

some-alt