Pregunta

Me gustaría incorporar nombres de variables que impliquen lo que debo hacer con ellos. Me imagino un marco de datos " encuesta " ;.

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

Ahora me gustaría hacer ciertas cosas con todas las variables que contienen likert , otras cosas con variables que contienen bern etc.

¿Cómo se puede hacer esto en R?

¿Fue útil?

Solución

Puedes usar grep () con colnames () :

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

Otros consejos

Si tienes una serie de nombres que te gusta agarrar, también puedes usar coincidir. quizás a menudo necesite las variables "pulso", "ejercicio", "altura", " peso " y "edad", pero a veces aparecen en diferentes lugares o con otras variables agregadas. Puede guardar el vector de nombres comunes y luego compararlos con el marco de datos y tener un nuevo df de solo sus columnas estándar en el orden que desee.

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

Los " operadores " El paquete permite alguna sintaxis similar a Perl:

library(operators)

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

o

subset(survey, select = colnames(survey) %~% "bern")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top