R adatkeret: Hogyan lehet létrehozni, csatolni, kiválasztani és amp; Részhalmaz

Tartalomjegyzék:

Anonim

Mi az az adatkeret?

Az adatkeret az azonos hosszúságú vektorok listája. A mátrix csak egy adattípust tartalmaz, míg az adatkeret különböző adattípusokat (numerikus, karakteres, tényező stb.) Fogad el.

Ebben az oktatóanyagban megtanulja-

  • Mi az az adatkeret?
  • Adatkeret létrehozása
  • Oszlop hozzáadása az adatkerethez
  • Válasszon egy oszlopot az adatkeretről
  • Adatkeret részhalmaza

Adatkeret létrehozása

Hozhatunk létre adatkeretet R-ben, ha az a, b, c, d változót átadjuk a data.frame () függvénynek. R létrehozhatunk adatkeretet és elnevezhetjük az oszlopokat névvel (), és egyszerűen megadhatjuk a változók nevét.

data.frame(df, stringsAsFactors = TRUE)

Érvek :

  • df : Adatkeretként konvertálható mátrix vagy csatlakozható változók gyűjteménye lehet
  • stringsAsFactors : A karakterláncot alapértelmezés szerint tényezővé konvertálja

Négy azonos hosszúságú változó kombinálásával létrehozhatunk egy adatkeretet R-ben az első adathalmazunkhoz.

# 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

Kimenet:

## 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

Láthatjuk, hogy az oszlopfejléceknek ugyanaz a neve, mint a változóknak. Megváltoztathatjuk az R oszlop nevét a függvénynevekkel (). Ellenőrizze az alábbi R létrehozása adatkeret példát:

# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df

Kimenet:

## 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)

Kimenet:

## '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

Alapértelmezés szerint az adatkeret tényezőként adja vissza a karakterlánc-változókat.

Szelet adatkeret

Lehetőség van egy adatkeret SLICE értékeire. Kiválasztjuk a zárójelbe visszatérő sorokat és oszlopokat, megelőzve az adatkeret nevét.

Az adatkeret sorokból és oszlopokból áll, df [A, B]. A jelöli a sorokat, B pedig az oszlopokat. Szeletelhetünk akár a sorok és / vagy oszlopok megadásával.

Az 1. képen a bal rész a sorokat, a jobb oldali pedig az oszlopokat jelenti . Megjegyezzük, hogy a szimbólum: eszköz a . Például az 1: 3 az 1 és 3 közötti értékeket kívánja kiválasztani .

Az alábbi ábrán bemutatjuk, hogyan lehet hozzáférni az adatkeret különböző kiválasztásához:

  • A sárga nyíl kiválasztja az 1. sort a 2. oszlopban
  • A zöld nyíl kiválasztja a sorok 1-2
  • A piros nyíl kiválasztja az 1. oszlopot
  • A kék nyíl kiválasztja a sorok 1-3 és oszlopok 3-4

Ne feledje, hogy ha a bal részt üresen hagyjuk, R kijelöli az összes sort . Hasonlóképpen, ha a jobb részt üresen hagyjuk, R az összes oszlopot kijelöli .

Futtathatjuk a kódot a konzolon:

## Select row 1 in column 2df[1,2]

Kimenet:

## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]

Kimenet:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]

Kimenet:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]

Kimenet:

## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0

Lehetőség van az oszlopok nevükkel történő kiválasztására is. Például az alábbi kód két oszlopot von ki: ID és store.

# Slice with columns namedf[, c('ID', 'store')]

Kimenet:

## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE

Oszlop hozzáadása az adatkerethez

Oszlopot is hozzáadhat egy adatkerethez. Az $ szimbólum használatával hozzá kell adnia az dataframe R változót, és hozzá kell adnia egy oszlopot az R adatkerethez.

# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf

Kimenet:

## 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

Megjegyzés: A vektorban lévő elemek számának meg kell egyeznie az adatkeretben található elemek számával. A következő utasítás végrehajtása az oszlop hozzáadásához az R adatkerethez

quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity

Hibát ad:

Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4 

Válasszon egy oszlopot az adatkeretről

Előfordul, hogy egy adatkeret oszlopát kell tárolnunk a jövőbeni felhasználáshoz, vagy műveletet kell végrehajtanunk egy oszlopon. A $ előjel segítségével kiválaszthatjuk az oszlopot egy adatkeretről.

# Select the column IDdf$ID

Kimenet:

## [1] 1 2 3 4

Adatkeret részhalmaza

Az előző részben egy teljes oszlopot választottunk ki feltétel nélkül. Lehetséges albontás annak alapján, hogy egy bizonyos feltétel igaz volt-e vagy sem.

Használjuk a részhalmaz () függvényt.

subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement

Csak azokat a termékeket akarjuk visszaküldeni, amelyek ára meghaladja a 10-et, és megtehetjük:

# Select price above 5subset(df, subset = price > 5)

Kimenet:

ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7