R Datový rámec: Jak vytvořit, připojit, vybrat & Podmnožina

Obsah:

Anonim

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