Čo je to dátový rámec?
Dátový rámec je zoznam vektorov, ktoré majú rovnakú dĺžku. Matica obsahuje iba jeden typ údajov, zatiaľ čo dátový rámec akceptuje rôzne typy údajov (číselné, znakové, faktorové atď.).
V tomto návode sa naučíte
- Čo je to dátový rámec?
- Ako vytvoriť dátový rámec
- Pripojiť stĺpec k údajovému rámcu
- Vyberte stĺpec údajového rámca
- Podmnožina dátového rámca
Ako vytvoriť dátový rámec
Môžeme vytvoriť dátový rámec v R odovzdaním premennej a, b, c, d do funkcie data.frame (). Môžeme R vytvoriť dátový rámec a pomenovať stĺpce pomocou name () a jednoducho určiť názov premenných.
data.frame(df, stringsAsFactors = TRUE)
Argumenty :
- df : Môže to byť matica, ktorú je možné prevádzať ako dátový rámec, alebo zbierka premenných, ku ktorým sa môžete pripojiť
- stringsAsFactors : Predvolene prevádza reťazec na faktor
Môžeme vytvoriť dátový rámec v R pre našu prvú množinu údajov kombináciou štyroch premenných rovnakej dĺžky.
# 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ýkon:
## 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 hlavičky stĺpcov majú rovnaký názov ako premenné. Názov stĺpca v R môžeme zmeniť pomocou názvov funkcií (). Skontrolujte príklad R create dataframe nižšie:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Výkon:
## 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ýkon:
## '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
Štandardne dátový rámec vracia reťazcové premenné ako faktor.
Plátok dátového rámca
Je možné SLICE hodnôt dátového rámca. Vyberáme riadky a stĺpce, ktoré sa vrátia do zátvorky, pred ktorými bude názov dátového rámca.
Dátový rámec sa skladá z riadkov a stĺpcov df [A, B]. A predstavuje riadky a B stĺpce. Môžeme krájať buď zadaním riadkov alebo stĺpcov.
Na obrázku 1 ľavá časť predstavuje riadky a pravá časť stĺpce . Všimnite si, že symbol: prostriedok k . Napríklad 1: 3 má v úmysle zvoliť hodnoty od 1 do 3.
V nasledujúcom diagrame zobrazujeme spôsob prístupu k rôznym výberom dátového rámca:
- Žltá šípka vyberie riadok 1 v stĺpci 2
- Zelená šípka vyberie riadky 1 až 2
- Červená šípka vyberie stĺpec 1
- Modrá šípka vyberie riadky 1 až 3 a stĺpce 3 až 4
Všimnite si, že ak necháme ľavú časť prázdnu, R vyberie všetky riadky . Analogicky, ak necháme pravú časť prázdnu, R vyberie všetky stĺpce .
Môžeme spustiť kód v konzole:
## Select row 1 in column 2df[1,2]
Výkon:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Výkon:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Výkon:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Výkon:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Je tiež možné vybrať stĺpce s ich názvami. Napríklad kód uvedený nižšie extrahuje dva stĺpce: ID a store.
# Slice with columns namedf[, c('ID', 'store')]
Výkon:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Pripojiť stĺpec k údajovému rámcu
Môžete tiež pridať stĺpec k údajovému rámcu. Ak chcete pridať premennú údajového rámca R a pridať stĺpec do údajového rámca v R., musíte použiť symbol $.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Výkon:
## 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 prvkov vo vektore sa musí rovnať počtu prvkov v dátovom rámci. Vykonaním nasledujúceho príkazu pridáte stĺpec do údajového rámca R.
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Dáva chybu:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Vyberte stĺpec údajového rámca
Niekedy musíme uložiť stĺpec údajového rámca pre ďalšie použitie alebo vykonať operáciu so stĺpcom. Na výber stĺpca z údajového rámca môžeme použiť znak $.
# Select the column IDdf$ID
Výkon:
## [1] 1 2 3 4
Podmnožina dátového rámca
V predchádzajúcej časti sme vybrali celý stĺpec bez podmienky. Je možné podmnožinu založiť na tom, či bola alebo nebola splnená určitá podmienka.
Používame funkciu podmnožina ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Chceme vrátiť iba položky s cenou nad 10, môžeme:
# Select price above 5subset(df, subset = price > 5)
Výkon:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7