Datové rámce v R - Jak extrahovat data z datových rámců v R?

Obsah:

Anonim

Úvod do datových rámců v R

Datový rámec je 2D (dvourozměrná) struktura podobná matici, ve které jsou přijímány různé typy dat, jako jsou znaky, číselné atd. Datový rámec je podmnožinou seznamu, který má každou složku stejné délky. V zásadě je datový rámec tabulka, ve které každý sloupec obsahuje hodnoty jedné proměnné a každý řádek obsahuje jednu sadu hodnot z každého sloupce.

Existují některé charakteristiky datového rámce.

  • Název sloupce je povinný
  • Názvy řádků by měly být jedinečné
  • Počet položek v každém sloupci by měl být stejný

Kroky pro vytvoření datových rámců v R

Začněme vytvořením datového rámce, který je vysvětlen níže.

Krok 1: Vytvořte datový rámec třídy ve škole.

Kód:

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)

Když spustíme tento kód, získáme datový rámec jako je tento.

Výstup:

Zde v našem příkladu je datový rámec velmi malý, ale v reálném životě při řešení problému máme spoustu dat. Abychom pochopili strukturu dat, předáváme funkci Str ().

Krok 2: Do našeho kódu přidáme spodní řádek.

Kód:

Str(tenthclass)

Když spustíme celý kód, dostaneme výstup.

Výstup:

Výše uvedený výstup znamená, že máme 5 pozorování 3 proměnných. Poté vysvětluje datový typ každé proměnné. Stejně jako v našem příkladu je číslo role celé číslo, název je znak a značky jsou očíslovány.

Jakmile pochopíme strukturu dat, pak předáme níže uvedený kód, abychom statisticky porozuměli údajům.

Krok 3: Nyní použijeme funkci Summary ()

Kód:

summary(tenthclass)

Výstup:

Souhrn poskytuje lepší pochopení našich údajů. Řekne nám to, střední, kvartilní, Max a Min. Tyto věci nám pomohou učinit lepší rozhodnutí.

Jak extrahovat data z datových rámců v R?

Zde budeme pokračovat ve výše uvedeném případě. Předpokládejme, že chceme znát jméno studenta ve třídě desáté, jen jméno. Jak tedy vytěžíme?

Náš datový rámec vypadá takto.

roll_number Name Marks

1 1 John 77

2 2 Sam 87

3 3 Casey 45

4 4 Ronald 68

5 5 Mathew 95

Pro získání jména jako výstupu předáme následující kód.

Kód:

onlyname = tenthclass$Name
print(onlyname)

Výstup:

Pokud zde rozbijeme kód, vložíme znak dolaru mezi název našeho datového rámce a název proměnné, kterou chceme jako výstup.

Nyní zvažte situaci, učitel chce vědět všechno o roli 2, jako je to, jak se jmenuje a kolik skóroval.

Zde potřebujeme vše o roli číslo 2, takže předáme níže uvedený kód.

Kód:

result_rollnumber2 = tenthclass(c(2), c(1:3)) print(result_rollnumber2)

Výstup:

Rozbalte v rámcích dat

Datový rámec lze zvětšit nebo zmenšit přidáním nebo odstraněním sloupců a řádků.

1. Přidejte řádek

Máme dva datové rámce. Jeden datový rámec patří do desáté sekce třídy A a druhý datový rámec patří do desáté sekce třídy B. Nyní se tyto různé sekce sloučí do jedné třídy.

Příklad č. 1: Třída 10 A

Kód:

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)

Výstup:

Příklad č. 2: Třída 10 B

Kód:

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)

Výstup:

Příklad č. 3: funkce rbind ()

Nyní musíme sloučit obě tyto třídy do jedné třídy. Zde použijeme funkci rbind (). Jediným omezením při přidávání nového řádku je, že musíme vložit nové řádky ve stejné struktuře jako existující datový rámec.

Kód:

new_tenthclass = rbind(tenthclass_sectionA, tenthclass_sectionB)
print(new_tenthclass)

Výstup:

2. Přidejte sloupec

Nyní zvažte případ, kdy musíme přidat podrobnosti o krevních skupinách každého studenta ve třídě 10. Přidáme pro něj nový sloupec a pojmenujeme ho „Blood_group“.

Náš datový rámec vypadá takto.

Kód:

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)

Výstup:

Kód:

tenthclass$Blood_group = c("O", "AB", "B+", "A+", "AB")
print(tenthclass)

Výstup:

Odstraňte řádek a sloupec z datového rámce

K odstranění řádku a sloupce z datového rámce používáme následující implementaci kódu.

1. Vymazat sloupec

Kód:

print(tenthclass)

Výstup:

V tomto datovém rámci, pokud musíme odstranit proměnnou krevní skupiny (sloupec úplně vpravo), předáme níže uvedený kód.

Kód:

tenthclass$Blood_group = NULL
print(tenthclass)

Výstup:

Obejít příkaz NULL můžeme přímo odstranit proměnnou z našeho datového rámce.

2. Odstranit řádek

Kód:

print(tenthclass)

Výstup:

Nyní zvažte situaci, kdy nepotřebujeme známky Johna, takže musíme odstranit nejvyšší řádek.

Kód:

tenthclass = tenthclass(-1, ) print(tenthclass)

Výstup:

Aktualizace dat v datovém rámci

Kód:

print(tenthclass)

Výstup:

Předpokládejme, že Sam skóroval 98 známek, ale podle našich datových rámečků je 87. Takže můžeme předat níže uvedený kód a opravit jej.

Kód:

tenthclass$Marks(2) = 98
print(tenthclass)

Výstup:

Závěr

Datové rámce jsou velmi běžnou formou prohlášení o problému. Je to seznam proměnné stejného počtu řádků s jedinečnými ID řádků. Tento článek nám pomáhá vědět, jak můžeme přidat řádek, přidat sloupec, vymazat řádek, odstranit sloupec datového rámce a také to říká, jak můžeme aktualizovat data v datovém rámci.

Doporučené články

Toto je průvodce datovými rámečky v R. Zde diskutujeme různé kroky k vytvoření datových rámců a jak extrahovat data z datových rámců v R. Další informace naleznete také v následujících článcích.

  1. Top 5 typů dat v R
  2. Seznam užitečných R balíčků
  3. Soubory R CSV
  4. R Programové funkce - význam
  5. Faktor v R s výhodami