Question

Je voudrais incorporer des noms de variables qui impliquent ce que je devrais en faire. J'imagine une base de données "enquête".

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

J'aimerais maintenant faire certaines choses avec toutes les variables contenant likert , d'autres avec des variables contenant Bern etc.

Comment cela peut-il être fait en R?

Était-ce utile?

La solution

Vous pouvez utiliser grep () avec noms de colonnes () :

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

Autres conseils

Si vous souhaitez saisir une série de noms, vous pouvez également utiliser correspondance. peut-être avez-vous souvent besoin de variables "pouls", "exercice", "hauteur", "poids", et "age", mais ils apparaissent parfois à des endroits différents ou avec d'autres variables ajoutées. Vous pouvez enregistrer le vecteur de noms communs, puis les faire correspondre à la structure de données et n’avoir qu'un nouveau df de vos colonnes standard dans l’ordre que vous souhaitez.

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

Les " opérateurs " package permet une syntaxe de type Perl:

library(operators)

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

ou

subset(survey, select = colnames(survey) %~% "bern")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top