R Language Funzioni utili per manipolare data.frames


Esempio

Alcune funzioni utili per manipolare data.frames sono subset() , transform() , with() e within() .

sottoinsieme

La funzione subset() consente di data.frame un data.frame in un modo più conveniente (il sottoinsieme funziona anche con altre classi):

subset(mtcars, subset = cyl == 6, select = c("mpg", "hp"))
                mpg  hp
Mazda RX4      21.0 110
Mazda RX4 Wag  21.0 110
Hornet 4 Drive 21.4 110
Valiant        18.1 105
Merc 280       19.2 123
Merc 280C      17.8 123
Ferrari Dino   19.7 175

Nel codice sopra chiediamo solo le righe in cui cyl == 6 e per le colonne mpg e hp . Puoi ottenere lo stesso risultato usando [] con il seguente codice:

mtcars[mtcars$cyl == 6, c("mpg", "hp")]

trasformare

La funzione transform() è una funzione utile per cambiare le colonne all'interno di un data.frame . Ad esempio, il codice seguente aggiunge un'altra colonna denominata mpg2 con il risultato di mpg^2 sul file mtcars data.frame :

mtcars <- transform(mtcars, mpg2 = mpg^2)

con e dentro

Sia with() che within() consentono di valutare espressioni all'interno dell'ambiente data.frame , consentendo una sintassi un po 'più pulita, risparmiando l'utilizzo di $ o [] .

Ad esempio, se si desidera creare, modificare e / o rimuovere più colonne in airquality data.frame :

aq <- within(airquality, {     
    lOzone <- log(Ozone) # creates new column
    Month <- factor(month.abb[Month]) # changes Month Column
    cTemp <- round((Temp - 32) * 5/9, 1) # creates new column
    S.cT <- Solar.R / cTemp  # creates new column
    rm(Day, Temp) # removes columns
})