Esiste un modo conciso per selezionare le colonne di un determinato tipo in dplyr
? Ad esempio, come selezionare tutte le colonne di caratteri all'interno di una catena dplyr
?dplyr - come selezionare le colonne di un certo tipo
risposta
Dplyr 0.5 ha la select_if()
che consente di scrivere select_if(is.character)
Questo rende il codice molto più pulito rispetto all'utilizzo di una domanda all'interno della catena dplyr! –
Un modo per procedere sarebbe innanzitutto ottenere le classi delle diverse colonne. Quindi, supponendo abbiamo alcuni dati:
library(dplyr)
DT <- data.frame(A = letters[1:6], B = c(T,F,F), C = seq(1,2,length.out = 6), D = 1:6)
dt <- tbl_df(DT)
dt$A <- as.character(dt$A)
uscita
A B C D
(chr) (lgl) (dbl) (int)
1 a TRUE 1.0 1
2 b FALSE 1.2 2
3 c FALSE 1.4 3
4 d TRUE 1.6 4
5 e FALSE 1.8 5
6 f FALSE 2.0 6
Ora possiamo ottenere le classi utilizzando la funzione di che:
cls <- sapply(dt, class)
cls
uscita
A B C D
"character" "logical" "numeric" "integer"
Ora è dritto inoltro:
newDF <- dt %>% select(which(cls=="character"))
newDF
uscita
A
(chr)
1 a
2 b
3 c
4 d
5 e
6 f
Nice - Sto cercando un modo per evitare di ottenere le classi al di fuori della catena dplyr. – paljenczy
Si può fare questo con
dt %>% select(which(sapply(.,is.character)))
- 1. come selezionare le colonne come righe?
- 2. dplyr :: selezionare scontri funzione con MASS :: selezionare
- 3. Come selezionare le colonne in data.table utilizzando un vettore di caratteri di determinati nomi di colonne?
- 4. Rails Partecipa Modello selezionare le colonne comuni
- 5. Come ripristinare le modifiche non modificate in un file di un certo tipo in git
- 6. Selezionare le colonne appropriate dall'istruzione JOIN
- 7. Linq trova tutto con un certo tipo
- 8. Selezionare valori unici con 'selezionare' funzione nella libreria 'dplyr'
- 9. dplyr group by su più colonne
- 10. Impossibile utilizzare join di dplyr su due colonne di date
- 11. Usa dplyr per filtrare colonne contenenti caratteri
- 12. in dplyr selezionare con una goccia non funziona
- 13. Somma su più colonne con dplyr
- 14. Come selezionare solo un sottoinsieme di colonne dataframe in julia
- 15. Come faccio a spazzare colonne specifiche con dplyr?
- 16. Come ottenere la media di due colonne usando dplyr?
- 17. XPath - selezionare il testo dopo un certo nodo
- 18. HQL: Come selezionare tutte le entità distinte per alcune colonne?
- 19. Impossibile rilasciare la colonna - selezionare() con dplyr
- 20. Come selezionare tutte le colonne, tranne una colonna nei panda?
- 21. Come selezionare le colonne a livello di codice in un data.table?
- 22. Come selezionare le colonne da groupby object nei panda?
- 23. Ottieni le coordinate sullo schermo di un certo UITableViewCell?
- 24. Come selezionare colonne specifiche contenenti determinate stringhe/caratteri?
- 25. Come sapere se un'istanza è di un certo tipo o di qualsiasi tipo derivato
- 26. Aggiungendo più colonne in un dplyr mutare chiamare
- 27. controlla se il file è di un certo tipo
- 28. Yii cdbcriteria selezionare le colonne di una relazione
- 29. come selezionare colonne specifiche in laravel eloquente
- 30. Selezionare le righe con Max Valore raggruppate per due colonne
Non che la familiarità con il pacchetto dplyr. Ma puoi fare qualcosa del genere? Simile alla funzione 'class':' d <- tbl_df (iris); type_sum (d); seleziona (d, which (type_sum (d) == "dbl")) ' – Jimbou