R Dataframe: maken, toevoegen, selecteren & Subgroep

Wat is een dataframe?

Een dataframe is een lijst met vectoren die even lang zijn. Een matrix bevat slechts één type gegevens, terwijl een dataframe verschillende gegevenstypen accepteert (numeriek, teken, factor, enz.).

In deze tutorial leer je-

  • Wat is een dataframe?
  • Hoe u een dataframe maakt
  • Voeg een kolom toe aan dataframe
  • Selecteer een kolom van een dataframe
  • Subset een dataframe

Hoe u een dataframe maakt

We kunnen een dataframe in R maken door de variabele a, b, c, d door te geven aan de functie data.frame (). We kunnen een dataframe maken en de kolommen een naam geven met name () en eenvoudig de naam van de variabelen specificeren.

data.frame(df, stringsAsFactors = TRUE)

Argumenten :

  • df : Het kan een matrix zijn om te converteren naar een dataframe of een verzameling variabelen om mee te doen
  • stringsAsFactors : converteer string standaard naar factor

We kunnen een dataframe in R maken voor onze eerste dataset door vier variabelen van dezelfde lengte te combineren.

# 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

Uitgang:

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

We kunnen zien dat de kolomkoppen dezelfde naam hebben als de variabelen. We kunnen de kolomnaam in R veranderen met de functienamen (). Bekijk het voorbeeld van het R create dataframe hieronder:

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

Uitgang:

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

Uitgang:

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

Standaard retourneert dataframe tekenreeksvariabelen als een factor.

Segment dataframe

Het is mogelijk om waarden van een dataframe te SLICE. We selecteren de rijen en kolommen om terug te keren tussen haakjes, voorafgegaan door de naam van het dataframe.

Een dataframe is samengesteld uit rijen en kolommen, df [A, B]. A staat voor de rijen en B de kolommen. We kunnen ofwel segmenteren door de rijen en / of kolommen op te geven.

Op afbeelding 1 vertegenwoordigt het linkerdeel de rijen en het rechterdeel de kolommen . Merk op dat het symbool: middelen aan . 1: 3 is bijvoorbeeld bedoeld om waarden van 1 tot 3 te selecteren .

In het onderstaande diagram laten we zien hoe u toegang krijgt tot verschillende selecties van het dataframe:

  • De gele pijl selecteert de rij 1 in kolom 2
  • De groene pijl selecteert de rijen 1 tot 2
  • De rode pijl selecteert de kolom 1
  • De blauwe pijl selecteert de rijen 1 t / m 3 en de kolommen 3 t / m 4

Merk op dat, als we het linkerdeel leeg laten, R alle rijen zal selecteren . Naar analogie, als we het rechterdeel leeg laten, zal R alle kolommen selecteren .

We kunnen de code in de console uitvoeren:

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

Uitgang:

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

Uitgang:

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

Uitgang:

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

Uitgang:

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

Het is ook mogelijk om de kolommen met hun naam te selecteren. De onderstaande code extraheert bijvoorbeeld twee kolommen: ID en store.

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

Uitgang:

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

Voeg een kolom toe aan dataframe

U kunt ook een kolom aan een dataframe toevoegen. U moet het symbool $ gebruiken om de dataframe R-variabele toe te voegen en een kolom toe te voegen aan een dataframe in R.

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

Uitgang:

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

Opmerking: het aantal elementen in de vector moet gelijk zijn aan het aantal elementen in dataframe. Het uitvoeren van de volgende instructie om een ​​kolom toe te voegen aan dataframe R

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

Geeft foutmelding:

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

Selecteer een kolom van een dataframe

Soms moeten we een kolom van een dataframe opslaan voor toekomstig gebruik of een bewerking op een kolom uitvoeren. We kunnen het $ -teken gebruiken om de kolom uit een dataframe te selecteren.

# Select the column IDdf$ID

Uitgang:

## [1] 1 2 3 4

Subset een dataframe

In het vorige gedeelte hebben we een hele kolom zonder voorwaarde geselecteerd. Het is mogelijk om een subset te maken op basis van het feit of een bepaalde voorwaarde al dan niet waar was.

We gebruiken de functie subset ().

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

We willen alleen de artikelen retourneren met een prijs boven de 10, we kunnen doen:

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

Uitgang:

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

Interessante artikelen...