2009-09-09 26 views
8

Onlarla ne yapmam gerektiğini ima eden değişken adlarını dahil etmek istiyorum. Bir veri çerçevesi "anketi" hayal ediyorum. Şimdiİsme göre değişkenleri seçin (basit düzenli ifade)

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

Ben ihtiva değişkenlerle Likert içeren tüm değişkenler, diğer şeyler ile bazı şeyleri yapmak isterdiniz bern vb bu Ar yapılabilir Nasıl

?

cevap

15

Sen colnames() ile grep() kullanabilirsiniz:

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

sen de eşleşmesini kullanabilirsiniz kapmak ister adlarının bir dizi var. Belki de genellikle "nabız", "egzersiz", "yükseklik", "ağırlık" ve "yaş" değişkenlerine gereksinim duyarsınız, ancak bazen farklı yerlerde veya diğer eklenen değişkenler ile karşılaşırlar. Ortak isimlerin vektörünü kaydedebilir, daha sonra bunları veri çerçevesine göre eşleştirebilir ve istediğiniz sırayla standart sütunlarınızın yeni bir df'sine sahip olabilirsiniz.

library(operators) 

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

veya

subset(survey, select = colnames(survey) %~% "bern") 
:
basenames <- c("pulse", "exercise", "height", "weight", "age") 
get.columns <- match(basenames, names(dataframe)) 
new.df <- dataframe[,get.columns] 
2

"operatörleri" paket

bazı Perl benzeri sözdizimi verir