Uvod v okvirje podatkov v R
Podatkovni okvir je dvodimenzionalna struktura, podobna matriki, v kateri se sprejemajo različni tipi podatkov, kot so znaki, numerični itd. Podatkovni okvir je podmnožica seznama, ki ima vsako komponento enake dolžine. V osnovi je podatkovni okvir tabela, v kateri vsak stolpec vsebuje vrednosti ene spremenljivke in vsaka vrstica vsebuje en niz vrednosti iz vsakega stolpca.
Obstaja nekaj značilnosti okvira podatkov.
- Ime stolpca je obvezno
- Imena vrstic morajo biti edinstvena
- Število elementov v vsakem stolpcu mora biti enako
Koraki za ustvarjanje podatkovnih okvirjev v R
Začnimo z ustvarjanjem podatkovnega okvira, ki je pojasnjen spodaj,
1. korak: ustvarite podatkovni okvir razreda v šoli.
Koda:
tenthclass = data.frame(roll_number = c(1:5), Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass)
Ko zaženemo to kodo, bomo dobili takšen podatkovni okvir.
Izhod:
Tu je v našem primeru podatkovni okvir zelo majhen, v resničnem življenju pa imamo pri obravnavi težave veliko podatkov. Torej za razumevanje strukture podatkov prenašamo funkcijo Str ().
2. korak: V kodo dodamo spodnjo vrstico.
Koda:
Str(tenthclass)
Ko zaženemo celotno kodo, bomo dobili izhod.
Izhod:
Zgornji rezultat pomeni, da imamo 5 opazovanj 3 spremenljivk. Nato razloži vrsto podatkov vsake spremenljivke. Kot je v našem primeru številka zvitka celo število, je ime znak in oznake so oštevilčene.
Ko bomo razumeli strukturo podatkov, bomo prenesli spodnjo kodo, da bomo podatke bolj razumeli.
3. korak: Zdaj bomo uporabili funkcijo povzetka ()
Koda:
summary(tenthclass)
Izhod:
Povzetek zagotavlja boljše razumevanje naših podatkov. Povedal nam bo, da bomo pomenili srednje, kvartilno, Max in Min. Te stvari nam bodo pomagale do boljše odločitve.
Kako pridobiti podatke iz okvirjev podatkov v R?
Tu bomo nadaljevali zgornji primer. Recimo, da želimo v desetem razredu vedeti ime učenca, samo ime. Kako bomo torej ekstrahirali?
Naš podatkovni okvir je videti tako.
roll_number Oznake imena
1 1 Janez 77
2 2 Sam 87
3 3 Casey 45
4 4 Ronald 68
5 5 Matej 95
Če želite dobiti ime kot izhod, bomo posredovali naslednjo kodo.
Koda:
onlyname = tenthclass$Name
print(onlyname)
Izhod:
Če tu razbijemo kodo, samo vstavimo znak dolarja med ime našega podatkovnega okvira in imenom spremenljivke, ki jo želimo kot izhod.
Zdaj razmislite o situaciji, učitelj želi vedeti vse o zvitku številka 2, kot je njegovo ime in koliko je dosegel.
Tu potrebujemo vse o zvitku številka 2, zato bomo prenesli spodnjo kodo.
Koda:
result_rollnumber2 = tenthclass(c(2), c(1:3)) print(result_rollnumber2)
Izhod:
Razširite v okvirjih podatkov
Podatkovni okvir lahko povečate in zmanjšate po velikosti z dodajanjem ali brisanjem stolpcev in vrstic.
1. Dodajte vrstico
Imamo dva podatkovna okvira. En podatkovni okvir pripada razredu desetega oddelka A, drugi podatkovni okvir pa deseti oddelek razreda B. Zdaj se ti različni odseki združujejo v en sam razred.
Primer # 1: Razred 10 A
Koda:
tenthclass_sectionA = data.frame(roll_number = c(1:5),
Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass_sectionA)
Izhod:
Primer # 2: Razred 10 B
Koda:
tenthclass_sectionB = data.frame(roll_number = c(6:10), Name = c("Ria", "Justin", "Bon", "Tim", "joe"),
Marks = c(68, 98, 54, 68, 42), stringsAsFactors = FALSE)
print(tenthclass_sectionB)
Izhod:
Primer # 3: funkcija rbind ()
Zdaj moramo ta oba razreda združiti v en sam razred. Tu bomo uporabili funkcijo rbind (). Edina omejitev pri dodajanju nove vrstice je, da moramo nove vrstice vnesti v isto strukturo kot obstoječi podatkovni okvir.
Koda:
new_tenthclass = rbind(tenthclass_sectionA, tenthclass_sectionB)
print(new_tenthclass)
Izhod:
2. Dodajte stolpec
Zdaj razmislite o primeru, v katerem moramo dodati podatke o krvnih skupinah vsakega učenca v 10. razredu. Dodali bomo nov stolpec in ga poimenovali kot "Blood_group".
Naš podatkovni okvir je videti tako.
Koda:
tenthclass = data.frame(roll_number = c(1:5), Name = c("John", "Sam", "Casey", "Ronald", "Mathew"),
Marks = c(77, 87, 45, 68, 95), stringsAsFactors = FALSE)
print(tenthclass)
Izhod:
Koda:
tenthclass$Blood_group = c("O", "AB", "B+", "A+", "AB")
print(tenthclass)
Izhod:
Izbriši vrstico in stolpec iz podatkovnega okvira
Za brisanje vrstic in stolpcev iz podatkovnega okvira uporabimo naslednjo implementacijo kode.
1. Zbrišite stolpec
Koda:
print(tenthclass)
Izhod:
V tem podatkovnem okviru, če moramo izbrisati spremenljivko krvne skupine (desni desni stolpec), bomo prenesli spodnjo kodo.
Koda:
tenthclass$Blood_group = NULL
print(tenthclass)
Izhod:
Z ukazom NULL lahko spremenljivko neposredno odstranimo iz podatkovnega okvira.
2. Izbriši vrstico
Koda:
print(tenthclass)
Izhod:
Zdaj razmislite o situaciji, ko ne potrebujemo Janezovih znamk, zato moramo odstraniti zgornjo vrstico.
Koda:
tenthclass = tenthclass(-1, ) print(tenthclass)
Izhod:
Posodobite podatke v podatkovnem okviru
Koda:
print(tenthclass)
Izhod:
Denimo, da je Sam dosegel 98 ocen, vendar je po naših okvirih podatkov podatkov 87. Torej lahko spodaj navedemo kodo, da jo odpravimo.
Koda:
tenthclass$Marks(2) = 98
print(tenthclass)
Izhod:
Zaključek
Podatkovni okviri so zelo pogosta oblika izjave o težavi. To je seznam spremenljivke istega števila vrstic z edinstvenimi ID-ji vrstic. Ta članek nam pomaga vedeti, kako lahko dodamo vrstico, dodamo stolpec, izbrišemo vrstico, izbrišemo stolpec podatkovnega okvira in tudi pove, kako lahko posodobimo podatke v podatkovnem okviru.
Priporočeni članki
To je vodnik za Okvirji podatkov v R. Tukaj razpravljamo o različnih korakih za ustvarjanje podatkovnih okvirov in o črpanju podatkov iz podatkovnih okvirov v R. Če želite izvedeti več, si oglejte tudi naslednje članke,
- Najboljših 5 vrst podatkov v R
- Seznam uporabnih R paketov
- R CSV datoteke
- Funkcije programa R - Pomen
- Faktor v R s prednostmi