Ho un grande dataframe che vorrei utilizzare l'eccellente pacchetto dplyr
(Wickham) che ho scoperto di recente. Vorrei filtrare le colonne che contengono caratteri. È possibile?Usa dplyr per filtrare colonne contenenti caratteri
Ad esempio, nei set di dati flights
all'interno del pacchetto nycflights13
, come è possibile filtrare le colonne che hanno classe character
?
library(nycflights13)
data(flights)
str(flights)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 336776 obs. of 16 variables:
$ year : int 2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
$ month : int 1 1 1 1 1 1 1 1 1 1 ...
$ day : int 1 1 1 1 1 1 1 1 1 1 ...
$ dep_time : int 517 533 542 544 554 554 555 557 557 558 ...
$ dep_delay: num 2 4 2 -1 -6 -4 -5 -3 -3 -2 ...
$ arr_time : int 830 850 923 1004 812 740 913 709 838 753 ...
$ arr_delay: num 11 20 33 -18 -25 12 19 -14 -8 8 ...
$ carrier : chr "UA" "UA" "AA" "B6" ...
$ tailnum : chr "N14228" "N24211" "N619AA" "N804JB" ...
$ flight : int 1545 1714 1141 725 461 1696 507 5708 79 301 ...
$ origin : chr "EWR" "LGA" "JFK" "JFK" ...
$ dest : chr "IAH" "IAH" "MIA" "BQN" ...
$ air_time : num 227 227 160 183 116 150 158 53 140 138 ...
$ distance : num 1400 1416 1089 1576 762 ...
$ hour : num 5 5 5 5 5 5 5 5 5 5 ...
$ minute : num 17 33 42 44 54 54 55 57 57 58 ...
Qualche idea?
Questo è un po' saccente ma solo per le tue informazioni, in dplyr, usi 'select' per scegliere le colonne e' filter' per scegliere le righe - quindi non puoi tecnicamente "filtrare per le colonne". –
La mia risposta qui è "perché?". Cosa vuoi fare con questo (o qualche altro) set di dati che richiede la rimozione di tutte le colonne di caratteri? Potrebbe esserci un modo migliore ... – Spacedman
Esiste. È nella mia risposta, usando 'Filtro' –