Što je okvir podataka?
Okvir podataka je popis vektora koji su jednake duljine. Matrica sadrži samo jednu vrstu podataka, dok podatkovni okvir prihvaća različite vrste podataka (numeričke, znakove, faktore itd.).
U ovom vodiču naučit ćete-
- Što je okvir podataka?
- Kako stvoriti okvir podataka
- Dodaj stupac u okvir podataka
- Odaberite stupac podatkovnog okvira
- Podskup podatkovnog okvira
Kako stvoriti okvir podataka
Okvir podataka možemo stvoriti u R dodavanjem varijable a, b, c, d u funkciju data.frame (). Možemo R stvoriti okvir podataka i imenovati stupce imenom () i jednostavno odrediti naziv varijabli.
data.frame(df, stringsAsFactors = TRUE)
Argumenti :
- df : To može biti matrica za pretvaranje kao okvir podataka ili zbirka varijabli koje treba pridružiti
- stringsAsFactors : Pretvori niz u faktor prema zadanim postavkama
Možemo stvoriti okvir podataka u R za naš prvi skup podataka kombiniranjem četiri varijable iste duljine.
# 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
Izlaz:
## 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
Možemo vidjeti da zaglavlja stupaca imaju isto ime kao i varijable. Naziv stupca u R možemo promijeniti s imenima funkcija (). U nastavku pogledajte primjer R create dataframe:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Izlaz:
## 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)
Izlaz:
## '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
Prema zadanim postavkama okvir podataka vraća varijable niza kao faktor.
Okvir podataka za kriške
Moguće je SLICE vrijednosti podatkovnog okvira. Odabiremo retke i stupce koje ćemo vratiti u zagradu prethodeći imenu okvira podataka.
Okvir podataka sastoji se od redaka i stupaca, df [A, B]. A predstavlja retke, a B stupce. Narezati možemo određivanjem redaka i / ili stupaca.
Na slici 1 lijevi dio predstavlja redove, a desni dio stupce . Imajte na umu da simbol: sredstva za . Na primjer, 1: 3 namjerava odabrati vrijednosti od 1 do 3.
U donjem dijagramu prikazan je način pristupa različitom odabiru okvira podataka:
- Žuta strelica odabire redak 1 u stupcu 2
- Zelena strelica odabire retke 1 do 2
- Crvena strelica odabire stupac 1
- Plava strelica odabire retke 1 do 3 i stupce 3 do 4
Imajte na umu da će, ako pustimo lijevi dio praznim, R odabrati sve retke . Po analogiji, ako pustimo desni dio praznim, R će odabrati sve stupce .
Kôd možemo pokrenuti u konzoli:
## Select row 1 in column 2df[1,2]
Izlaz:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Izlaz:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Izlaz:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Izlaz:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Također je moguće odabrati stupce s njihovim imenima. Na primjer, kod u nastavku izdvaja dva stupca: ID i spremište.
# Slice with columns namedf[, c('ID', 'store')]
Izlaz:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Dodaj stupac u okvir podataka
Također možete dodati stupac Data Frameu. Morate upotrijebiti simbol $ za dodavanje varijable podatkovnog okvira R i dodavanje stupca podatkovnom okviru u R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Izlaz:
## 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
Napomena: Broj elemenata u vektoru mora biti jednak broju elemenata u podatkovnom okviru. Izvršavanje sljedeće izjave za dodavanje stupca u okvir podataka R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Daje pogrešku:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Odaberite stupac podatkovnog okvira
Ponekad moramo pohraniti stupac podatkovnog okvira za buduću upotrebu ili izvesti operaciju na stupcu. Znakom $ možemo odabrati stupac iz okvira podataka.
# Select the column IDdf$ID
Izlaz:
## [1] 1 2 3 4
Podskup podatkovnog okvira
U prethodnom smo odjeljku odabrali čitav stupac bez uvjeta. Moguće je izvršiti podskup na temelju toga je li određeni uvjet bio istinit.
Koristimo funkciju podskup ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Želimo vratiti samo predmete čija je cijena veća od 10, možemo učiniti:
# Select price above 5subset(df, subset = price > 5)
Izlaz:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7