Co je datový rámec?
Datový rámec je seznam vektorů, které mají stejnou délku. Matice obsahuje pouze jeden typ dat, zatímco datový rámec přijímá různé datové typy (číselné, znakové, faktorové atd.).
V tomto výukovém programu se naučíte
- Co je datový rámec?
- Jak vytvořit datový rámec
- Připojit sloupec k datovému rámci
- Vyberte sloupec datového rámce
- Podmnožina datového rámce
Jak vytvořit datový rámec
Můžeme vytvořit datový rámec v R předáním proměnné a, b, c, d do funkce data.frame (). Můžeme R vytvořit datový rámec a pojmenovat sloupce name () a jednoduše zadat název proměnných.
data.frame(df, stringsAsFactors = TRUE)
Argumenty :
- df : Může to být matice, kterou lze převést jako datový rámec, nebo soubor proměnných, které se mají připojit
- stringsAsFactors : Ve výchozím nastavení převede řetězec na faktor
Můžeme vytvořit datový rámec v R pro naši první datovou sadu kombinací čtyř proměnných stejné délky.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Výstup:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Vidíme, že záhlaví sloupců mají stejný název jako proměnné. Můžeme změnit název sloupce v R s názvy funkcí (). Podívejte se níže na příklad R create dataframe:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Výstup:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Výstup:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
Ve výchozím nastavení datový rámec vrací řetězcové proměnné jako faktor.
Řez datový rámec
Je možné SLICE hodnot datového rámce. Vybereme řádky a sloupce, které se vrátíme do hranatých závorek, před nimiž bude název datového rámce.
Datový rámec se skládá z řádků a sloupců df [A, B]. A představuje řádky a B sloupce. Můžeme rozdělit buď zadáním řádků nebo sloupců.
Na obrázku 1 představuje levá část řádky a pravou část sloupce . Symbol: znamená do . Například 1: 3 má v úmyslu vybrat hodnoty od 1 do 3.
V níže uvedeném diagramu zobrazujeme způsob přístupu k různému výběru datového rámce:
- Žlutá šipka vybere řádek 1 ve sloupci 2
- Zelená šipka vybírá řádky 1 až 2
- Červená šipka vybere sloupec 1
- Modrá šipka vybere řádky 1 až 3 a sloupce 3 až 4
Pokud necháme levou část prázdnou, R vybere všechny řádky . Analogicky, pokud necháme pravou část prázdnou, R vybere všechny sloupce .
Můžeme spustit kód v konzole:
## Select row 1 in column 2df[1,2]
Výstup:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Výstup:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Výstup:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Výstup:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Je také možné vybrat sloupce s jejich názvy. Například níže uvedený kód extrahuje dva sloupce: ID a úložiště.
# Slice with columns namedf[, c('ID', 'store')]
Výstup:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Připojit sloupec k datovému rámci
Sloupec můžete také připojit k datovému rámci. Musíte použít symbol $ k přidání proměnné datového rámce R a přidání sloupce do datového rámce v R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Výstup:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Poznámka: Počet prvků ve vektoru se musí rovnat počtu prvků v datovém rámci. Provedením následujícího příkazu přidáte sloupec do datového rámce R.
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Dává chybu:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Vyberte sloupec datového rámce
Někdy musíme uložit sloupec datového rámce pro budoucí použití nebo provést operaci na sloupci. Můžeme použít znak $ k výběru sloupce z datového rámce.
# Select the column IDdf$ID
Výstup:
## [1] 1 2 3 4
Podmnožina datového rámce
V předchozí části jsme vybrali celý sloupec bez podmínky. Je možné podmnožinu podle toho, zda byla nebo nebyla splněna určitá podmínka.
Používáme funkci podmnožiny ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Chceme vrátit pouze položky s cenou nad 10, můžeme:
# Select price above 5subset(df, subset = price > 5)
Výstup:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7