이름을 기준으로 변수를 선택하십시오 (간단한 정규 표현식)

StackOverflow https://stackoverflow.com/questions/1402634

  •  05-07-2019
  •  | 
  •  

문제

나는 그들과 함께해야 할 일을 암시하는 변수 이름을 통합하고 싶습니다. 데이터 프레임 "설문 조사"를 상상합니다.

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")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top