R duomenų rėmelis: kaip sukurti, pridėti, pasirinkti & Pogrupis

Kas yra duomenų rėmas?

Duomenų rėmo yra vektorius, kurie yra vienodo ilgio sąrašas. Matricoje yra tik vieno tipo duomenys, o duomenų rėmelyje priimami skirtingi duomenų tipai (skaitiniai, simboliai, faktoriai ir kt.).

Šioje pamokoje sužinosite

  • Kas yra duomenų rėmas?
  • Kaip sukurti duomenų rėmelį
  • Pridėkite stulpelį prie duomenų rėmelio
  • Pasirinkite duomenų rėmelio stulpelį
  • Duomenų rėmelio pogrupis

Kaip sukurti duomenų rėmelį

Mes galime sukurti duomenų kadrą R, perduodami kintamąjį a, b, c, d į funkciją data.frame (). Mes galime R sukurti duomenų kadrą ir pavadinti stulpelius pavadinimu () ir paprasčiausiai nurodyti kintamųjų pavadinimus.

data.frame(df, stringsAsFactors = TRUE)

Argumentai :

  • df : Tai gali būti matrica, kurią reikia konvertuoti kaip duomenų rėmą, arba kintamųjų rinkinys, prie kurio prisijungiama
  • stringsAsFactors : pagal numatytuosius nustatymus konvertuokite eilutę į faktorių

Pirmojo savo duomenų rinkinio duomenų kadrą galime sukurti R, derindami keturis to paties ilgio kintamuosius.

# 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

Išvestis:

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

Matome, kad stulpelių antraštės turi tą patį pavadinimą kaip ir kintamieji. Stulpelio pavadinimą R galime pakeisti funkcijų pavadinimais (). Patikrinkite toliau pateiktą „R create dataframe“ pavyzdį:

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

Išvestis:

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

Išvestis:

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

Pagal numatytuosius nustatymus duomenų rėmelis pateikia eilutės kintamuosius kaip veiksnį.

„Slice Data Frame“

Galima SLICE duomenų rėmelio reikšmes. Mes pasirenkame eilutes ir stulpelius, kuriuos norite grąžinti į skliaustą, prieš juos nurodant duomenų rėmelio pavadinimą.

Duomenų rėmelis susideda iš eilučių ir stulpelių, df [A, B]. A reiškia eilutes, o B - stulpelius. Mes galime supjaustyti nurodydami eilutes ir (arba) stulpelius.

1 paveiksle kairė dalis žymi eiles, o dešinė - stulpelius . Atkreipkite dėmesį, kad simboliu: priemones į . Pavyzdžiui, 1: 3 ketina pasirinkti reikšmes nuo 1 iki 3.

Žemiau esančioje diagramoje parodome, kaip pasiekti skirtingą duomenų rėmelio pasirinkimą:

  • Geltona rodyklė 2 stulpelyje parenka 1 eilutę
  • Žalia rodyklė parenka 1–2 eilutes
  • Raudona rodyklė parenka 1 stulpelį
  • Mėlyna rodyklė parenka 1–3 eilutes ir 3–4 stulpelius

Atkreipkite dėmesį, kad jei kairę dalį paliksime tuščią, R pasirinks visas eilutes . Pagal analogiją, jei dešinę dalį paliksime tuščią, R pažymės visus stulpelius .

Kodą galime paleisti konsolėje:

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

Išvestis:

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

Išvestis:

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

Išvestis:

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

Išvestis:

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

Taip pat galima pasirinkti stulpelius su jų pavadinimais. Pavyzdžiui, žemiau pateiktas kodas išskiria du stulpelius: ID ir parduotuvė.

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

Išvestis:

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

Pridėkite stulpelį prie duomenų rėmelio

Taip pat galite pridėti stulpelį prie duomenų rėmelio. Norėdami pridėti duomenų kadro R kintamąjį ir pridėti stulpelį prie duomenų kadro, turite naudoti simbolį $.

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

Išvestis:

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

Pastaba: Elementų skaičius vektoriuje turi būti lygus elementų skaičiui duomenų rėmelyje. Vykdomas šis sakinys, norint pridėti stulpelį prie duomenų kadro R

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

Pateikia klaidą:

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

Pasirinkite duomenų rėmelio stulpelį

Kartais turime saugoti duomenų rėmelio stulpelį, kad galėtume naudoti ateityje, arba atlikti operaciją. Mes galime naudoti $ ženklą norėdami pasirinkti stulpelį iš duomenų rėmelio.

# Select the column IDdf$ID

Išvestis:

## [1] 1 2 3 4

Duomenų rėmelio pogrupis

Ankstesniame skyriuje mes pasirinkome visą stulpelį be sąlygų. Galima išskaidyti pagal tai, ar tam tikra sąlyga buvo teisinga.

Mes naudojame pogrupio () funkciją.

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

Mes norime grąžinti tik tas prekes, kurių kaina yra didesnė nei 10, mes galime tai padaryti:

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

Išvestis:

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

Įdomios straipsniai...