Domanda

Vorrei incorporare i nomi delle variabili che implicano cosa dovrei fare con loro. Immagino un frame di dati "sondaggio".

library(Rlab) # Needed for rbern() function.
survey <- data.frame(cbind(  
id = seq(1:10),  
likert_this = sample(seq(1:7),10, replace=T),  
likert_that = sample(seq(1:7), 10, replace=T),  
dim_bern_varx = rbern(10, 0.6),  
disc_1 = sample(letters[1:5],10,replace=T)))

Ora vorrei fare alcune cose con tutte le variabili che contengono likert , altre cose con variabili che contengono bern ecc.

Come si può fare in R?

È stato utile?

Soluzione

Puoi usare grep () con nomi () :

survey[,grep("bern", colnames(survey))]

Altri suggerimenti

Se hai una serie di nomi che ti piace prendere puoi anche usare la corrispondenza. forse hai spesso bisogno di variabili "impulso", "esercizio", "altezza", "peso" e "età", ma a volte vengono visualizzati in luoghi diversi o con altre variabili aggiunte. Puoi salvare il vettore di nomi comuni, quindi confrontarli con il frame di dati e avere un nuovo df di sole colonne standard nell'ordine desiderato.

basenames <- c("pulse", "exercise", "height", "weight", "age")
get.columns <- match(basenames, names(dataframe))
new.df <- dataframe[,get.columns]

Gli " operatori " Il pacchetto consente una sintassi simile al Perl:

library(operators)

survey[, colnames(survey) %~% "bern"]

o

subset(survey, select = colnames(survey) %~% "bern")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top