Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Rivin Käsittely | Data Frame -tietorakenteet
R:n Perusteet

bookRivin Käsittely

Aivan kuten sarakkeita, myös tietokehyksen rivejä voidaan lisätä tai poistaa.

Yksittäisten rivien lisääminen

Yksittäisen rivin lisäämiseksi voit määrittää uuden arvon seuraavaan vapaaseen rivin indeksiin (nrow(data) + 1). Koska tietokehys voi sisältää eri tyyppisiä arvoja, uusi rivi tulee antaa listana (tai data framena).

Note
Huomio

Oletuksena tekstiarvot voidaan muuntaa faktoreiksi tietokehystä luotaessa. Tämä voi aiheuttaa ongelmia uusia rivejä lisättäessä. Tämän välttämiseksi aseta stringsAsFactors = FALSE tietokehystä luodessa.

Esimerkki

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

Useiden rivien lisääminen

Toinen tapa lisätä rivejä on yhdistää kaksi data framea, joilla on samat sarakkeet, käyttämällä merge()-funktiota. Näin voit lisätä useita rivejä kerralla.

Esimerkki

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

Rivien poistaminen

Rivien poistamiseen käytetään negatiivisia indeksejä hakasulkeissa, kuten matriiseissa.

Esimerkki

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
Tehtävä

Swipe to start coding

Sinulla on data frame store, joka sisältää tietoja tuotteista, niiden hinnoista ja myydyistä määristä pienessä huonekaluliikkeessä.

Tehtäväsi on:

  1. Poistaa 'Dining chair' -rivi (indeksi 4) store-data framesta. Tallenna tulos takaisin store-muuttujaan.
  2. Lisätä uusi rivi data frameen store käyttäen list-menetelmää seuraavilla tiedoilla:
ItemPriceSold
Kitchen cabinet7067
  1. Tulostaa muokattu data frame.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookRivin Käsittely

Pyyhkäise näyttääksesi valikon

Aivan kuten sarakkeita, myös tietokehyksen rivejä voidaan lisätä tai poistaa.

Yksittäisten rivien lisääminen

Yksittäisen rivin lisäämiseksi voit määrittää uuden arvon seuraavaan vapaaseen rivin indeksiin (nrow(data) + 1). Koska tietokehys voi sisältää eri tyyppisiä arvoja, uusi rivi tulee antaa listana (tai data framena).

Note
Huomio

Oletuksena tekstiarvot voidaan muuntaa faktoreiksi tietokehystä luotaessa. Tämä voi aiheuttaa ongelmia uusia rivejä lisättäessä. Tämän välttämiseksi aseta stringsAsFactors = FALSE tietokehystä luodessa.

Esimerkki

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

Useiden rivien lisääminen

Toinen tapa lisätä rivejä on yhdistää kaksi data framea, joilla on samat sarakkeet, käyttämällä merge()-funktiota. Näin voit lisätä useita rivejä kerralla.

Esimerkki

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

Rivien poistaminen

Rivien poistamiseen käytetään negatiivisia indeksejä hakasulkeissa, kuten matriiseissa.

Esimerkki

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
Tehtävä

Swipe to start coding

Sinulla on data frame store, joka sisältää tietoja tuotteista, niiden hinnoista ja myydyistä määristä pienessä huonekaluliikkeessä.

Tehtäväsi on:

  1. Poistaa 'Dining chair' -rivi (indeksi 4) store-data framesta. Tallenna tulos takaisin store-muuttujaan.
  2. Lisätä uusi rivi data frameen store käyttäen list-menetelmää seuraavilla tiedoilla:
ItemPriceSold
Kitchen cabinet7067
  1. Tulostaa muokattu data frame.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 6
single

single

some-alt