Hva er en dataramme?
En dataramme er en liste over vektorer som er like lange. En matrise inneholder bare én type data, mens en dataramme godtar forskjellige datatyper (numerisk, tegn, faktor osv.).
I denne veiledningen vil du lære-
- Hva er en dataramme?
- Hvordan lage en dataramme
- Legg til en kolonne i datarammen
- Velg en kolonne i en dataramme
- Delmengde en dataramme
Hvordan lage en dataramme
Vi kan opprette en dataramme i R ved å sende variabelen a, b, c, d til data.frame () -funksjonen. Vi kan R lage dataramme og gi kolonnene navnet () og bare spesifisere navnet på variablene.
data.frame(df, stringsAsFactors = TRUE)
Argumenter :
- df : Det kan være en matrise å konvertere som en dataramme eller en samling variabler for å bli med
- stringsAsFactors : Konverter streng til faktor som standard
Vi kan lage en dataramme i R for vårt første datasett ved å kombinere fire variabler av samme lengde.
# 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
Produksjon:
## 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
Vi kan se kolonneoverskriftene har samme navn som variablene. Vi kan endre kolonnenavn i R med funksjonsnavnene (). Sjekk eksempelet R create dataframe nedenfor:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Produksjon:
## 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)
Produksjon:
## '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
Som standard returnerer datarammen strengvariabler som en faktor.
Skjær dataramme
Det er mulig å skære verdier av en dataramme. Vi velger radene og kolonnene som skal returneres i parentes foran navnet på datarammen.
En dataramme består av rader og kolonner, df [A, B]. A representerer radene og B kolonnene. Vi kan skjære enten ved å spesifisere radene og / eller kolonnene.
Fra bilde 1 representerer venstre del radene, og høyre del er kolonnene . Merk at symbolet: betyr å . For eksempel har 1: 3 til hensikt å velge verdier fra 1 til 3.
I diagrammet nedenfor viser vi hvordan du får tilgang til forskjellige valg av datarammen:
- Den gule pilen velger rad 1 i kolonne 2
- Den grønne pilen velger radene 1 til 2
- Den røde pilen velger kolonne 1
- Den blå pilen velger radene 1 til 3 og kolonnene 3 til 4
Merk at hvis vi lar den venstre delen være tom, vil R velge alle radene . Analogt, hvis vi lar høyre del være tom, vil R velge alle kolonnene .
Vi kan kjøre koden i konsollen:
## Select row 1 in column 2df[1,2]
Produksjon:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Produksjon:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Produksjon:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Produksjon:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Det er også mulig å velge kolonnene med navnene deres. For eksempel trekker koden nedenfor ut to kolonner: ID og butikk.
# Slice with columns namedf[, c('ID', 'store')]
Produksjon:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Legg til en kolonne i datarammen
Du kan også legge til en kolonne i en dataramme. Du må bruke symbolet $ for å legge til dataframe R-variabelen og legge til en kolonne i en dataframe i R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Produksjon:
## 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
Merk: Antall elementer i vektoren må være lik antall elementer i datarammen. Utfører følgende uttalelse for å legge til kolonne i dataramme R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Gir feil:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Velg en kolonne i en dataramme
Noen ganger må vi lagre en kolonne i en dataramme for fremtidig bruk eller utføre operasjoner på en kolonne. Vi kan bruke $ -tegnet til å velge kolonnen fra en dataramme.
# Select the column IDdf$ID
Produksjon:
## [1] 1 2 3 4
Delmengde en dataramme
I forrige seksjon valgte vi en hel kolonne uten betingelse. Det er mulig å delmengde basert på om en viss tilstand var oppfylt eller ikke.
Vi bruker subset () -funksjonen.
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Vi vil bare returnere varene med pris over 10, vi kan gjøre:
# Select price above 5subset(df, subset = price > 5)
Produksjon:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7