이름을 기준으로 변수를 선택하십시오 (간단한 정규 표현식)
문제
나는 그들과 함께해야 할 일을 암시하는 변수 이름을 통합하고 싶습니다. 데이터 프레임 "설문 조사"를 상상합니다.
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)))
이제 나는 포함 된 모든 변수로 특정 일을하고 싶습니다. 리 커트, 변수가 포함 된 다른 것들 베른 등.
R에서 어떻게 할 수 있습니까?
해결책
당신이 사용할 수있는 grep()
~와 함께 colnames()
:
survey[,grep("bern", colnames(survey))]
다른 팁
잡고 싶은 일련의 이름이 있다면 매치를 사용할 수도 있습니다. 아마도 종종 "펄스", "운동", "높이", "높이", "무게"및 "나이"변수가 필요하지만 때로는 다른 장소 나 다른 추가 변수로 나타납니다. 공통 이름의 벡터를 저장 한 다음 데이터 프레임과 일치시키고 원하는 순서로 표준 열의 새로운 DF를 가질 수 있습니다.
basenames <- c("pulse", "exercise", "height", "weight", "age")
get.columns <- match(basenames, names(dataframe))
new.df <- dataframe[,get.columns]
"연산자"패키지는 일부 Perl과 같은 구문을 허용합니다.
library(operators)
survey[, colnames(survey) %~% "bern"]
또는
subset(survey, select = colnames(survey) %~% "bern")
제휴하지 않습니다 StackOverflow