R Dátový rámec: Ako vytvárať, pripájať, vyberať & Podmnožina

Obsah:

Anonim

Č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