una regulares extraer expresiones ejemplos comodines comando caracteres cadena r dataframe subset

regulares - grep en r



Elija variables basadas en el nombre(expresión regular simple) (3)

Si tiene una serie de nombres que le gusta tomar, también puede usar match. quizás a menudo necesite variables como "pulso", "ejercicio", "altura", "peso" y "edad", pero a veces aparecen en diferentes lugares o con otras variables añadidas. Puede guardar el vector de nombres comunes, 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]

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

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?


El paquete "operadores" permite cierta sintaxis similar a Perl:

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

o

subset(survey, select = colnames(survey) %~% "bern")


Puedes usar grep() con colnames() :

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