R andmeraam: kuidas luua, lisada, valida & Alamhulk

Lang L: none (table-of-contents):

Anonim

Mis on andmeraam?

Andmekaadri on loetelu vektoreid, mis on võrdse pikkusega. Maatriks sisaldab ainult ühte tüüpi andmeid, samas kui andmeraam aktsepteerib erinevaid andmetüüpe (numbriline, märk, tegur jne).

Selles õpetuses saate teada

  • Mis on andmeraam?
  • Andmeraami loomine
  • Andmeraamile lisage veerg
  • Valige andmeraami veerg
  • Andmeraami alamhulk

Andmeraami loomine

Andmekaadri saame luua R-s, edastades muutuja a, b, c, d funktsiooni data.frame (). Saame R luua andmekaadri ja nimetada veerud nimega () ja määratleda lihtsalt muutujate nimi.

data.frame(df, stringsAsFactors = TRUE)

Argumendid :

  • df : see võib olla maatriks, mida saab teisendada andmeraamina, või muutujate kogum, millega liituda
  • stringsAsFactors : teisendab stringi vaikimisi teguriks

Oma esimese andmekogumi jaoks saame R-is luua andmekaadri, ühendades neli ühepikkust muutujat.

# 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äljund:

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

Näeme, et veerupäistel on sama nimi kui muutujatel. Saame muuta veeru nime R-s funktsiooninimedega (). Kontrollige allpool R-i andmekaadri loomise näidet:

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

Väljund:

## 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äljund:

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

Vaikimisi tagastab andmeraam tegurina stringi muutujad.

Viilu andmeraam

Andmeraami väärtusi on võimalik SLICE'iks. Valime sulgudesse naasmiseks read ja veerud, millele eelneb andmeraami nimi.

Andmeraam koosneb ridadest ja veergudest df [A, B]. A tähistab ridu ja B veergu. Saame viilutada kas ridade ja / või veergude määramisega.

Pildil 1 tähistab vasak osa ridu ja parem osa veerge . Pange tähele, et sümbol: vahendid , et . Näiteks kavatseb 1: 3 valida väärtused vahemikus 1 kuni 3.

Alloleval skeemil kuvame, kuidas pääseda juurde andmeraami erinevale valikule:

  • Kollane nool valib veerus 2 rea 1
  • Roheline nool valib ridu 1 kuni 2
  • Punane nool valib veeru 1
  • Sinine nool valib read 1–3 ja veerud 3–4

Pange tähele, et kui jätame vasakpoolse osa tühjaks, valib R kõik read . Analoogia põhjal, kui jätame parempoolse osa tühjaks, valib R kõik veerud .

Saame koodi konsoolis käivitada:

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

Väljund:

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

Väljund:

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

Väljund:

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

Väljund:

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

Samuti on võimalik valida veerud nende nimedega. Näiteks eraldab allolev kood kaks veergu: ID ja pood.

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

Väljund:

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

Andmeraamile lisage veerg

Andmeraamile saate lisada ka veeru. Andmekaadri R muutuja lisamiseks ja R-i andmekaadrile veeru lisamiseks peate kasutama sümbolit $.

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

Väljund:

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

Märkus: vektoris olevate elementide arv peab olema võrdne andmeraamis olevate elementide arvuga. Järgmise lause käivitamine veeru lisamiseks andmekaadrisse R

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

Annab vea:

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

Valige andmeraami veerg

Mõnikord peame tulevaseks kasutamiseks salvestama andmeraami veeru või tegema veerus toimingu. Andmeraamist veeru valimiseks saame kasutada märki $.

# Select the column IDdf$ID

Väljund:

## [1] 1 2 3 4

Andmeraami alamhulk

Eelmises jaotises valisime terve veeru ilma tingimusteta. Alamhulka saab määrata selle alusel, kas teatud tingimus oli tõene või mitte.

Kasutame funktsiooni alamhulk ().

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

Soovime tagastada ainult need tooted, mille hind on üle 10, saame teha järgmist:

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

Väljund:

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