Vad är en dataram?
En dataram är en lista över vektorer som är lika långa. En matris innehåller endast en typ av data, medan en dataram accepterar olika datatyper (numerisk, karaktär, faktor etc.).
I den här handledningen lär du dig-
- Vad är en dataram?
- Hur man skapar en dataram
- Lägg till en kolumn i dataramen
- Välj en kolumn i en dataram
- Delmängd en dataram
Hur man skapar en dataram
Vi kan skapa en dataram i R genom att skicka variabeln a, b, c, d till data.frame () -funktionen. Vi kan R skapa dataram och namnge kolumnerna med namn () och helt enkelt ange namnet på variablerna.
data.frame(df, stringsAsFactors = TRUE)
Argument :
- df : Det kan vara en matris att konvertera som en dataram eller en samling variabler att gå med i
- stringsAsFactors : Konvertera sträng till faktor som standard
Vi kan skapa en dataram i R för vår första datamängd genom att kombinera fyra variabler av samma längd.
# 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
Produktion:
## 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 att kolumnrubrikerna har samma namn som variablerna. Vi kan ändra kolumnnamn i R med funktionsnamnen (). Kontrollera exemplet R skapa dataframe nedan:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Produktion:
## 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)
Produktion:
## '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 returnerar dataramen strängvariabler som en faktor.
Slice Data Frame
Det är möjligt att skiva värden för en dataram. Vi väljer de rader och kolumner som ska återgå till parentes före namnet på dataramen.
En dataram består av rader och kolumner, df [A, B]. A representerar raderna och B kolumnerna. Vi kan skära antingen genom att ange raderna och / eller kolumnerna.
Från bild 1 representerar den vänstra delen raderna och den högra delen är kolumnerna . Observera att symbolen: betyder att . Till exempel avser 1: 3 att välja värden från 1 till 3.
I nedanstående diagram visar vi hur du får åtkomst till olika val av dataramen:
- Den gula pilen markerar rad 1 i kolumn 2
- Den gröna pilen markerar raderna 1 till 2
- Den röda pilen väljer kolumn 1
- Den blå pilen markerar raderna 1 till 3 och kolumnerna 3 till 4
Observera att om vi låter den vänstra delen vara tom kommer R att välja alla rader . I analogi, om vi låter den högra delen vara tom, väljer R alla kolumner .
Vi kan köra koden i konsolen:
## Select row 1 in column 2df[1,2]
Produktion:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Produktion:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Produktion:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Produktion:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Det är också möjligt att välja kolumner med deras namn. Till exempel extraherar koden nedan två kolumner: ID och butik.
# Slice with columns namedf[, c('ID', 'store')]
Produktion:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Lägg till en kolumn i dataramen
Du kan också lägga till en kolumn i en dataram. Du måste använda symbolen $ för att lägga till dataframe R-variabeln och lägga till en kolumn i en dataframe i R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Produktion:
## 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
Obs! Antalet element i vektorn måste vara lika med antalet element i dataramen. Utför följande uttalande för att lägga till kolumn i dataram R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Ger fel:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Välj en kolumn i en dataram
Ibland behöver vi lagra en kolumn i en dataram för framtida bruk eller utföra operationer på en kolumn. Vi kan använda $ -tecknet för att välja kolumnen från en dataram.
# Select the column IDdf$ID
Produktion:
## [1] 1 2 3 4
Delmängd en dataram
I föregående avsnitt valde vi en hel kolumn utan villkor. Det är möjligt att delmängd baserat på huruvida ett visst villkor var sant eller inte.
Vi använder funktionen subset ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Vi vill bara returnera artiklarna med pris över 10, vi kan göra:
# Select price above 5subset(df, subset = price > 5)
Produktion:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7