2017-10-08 14 views
0

변수 이름에 "idx"가 포함되어 있으면 새 변수 create_idx_var을 1로 만듭니다. , "Idx", "indx", "Indx", "index", "Index", "etf", "ETF"또는 변수 색인이 "예"인 경우.변수 이름에 특정 구문이 포함되어 있으면 R에 더미 변수를 작성해야합니다.

방금 ​​R을 배우기 시작했습니다. 첫 번째 단계는 데이터 세트를 제거하고 주식형 펀드 만 유지하는 것입니다. 그렇다면 펀드가 인덱스 펀드인지 확인하기위한 깃발을 만들고 싶습니다. 온라인에서 검색했지만 아무 것도 찾을 수 없습니다.

샘플 데이터의 일부 : enter image description here

이 지금까지 내 코드입니다.

: 그렇지 않으면 목록 (idx|Idx|indx|Indx|index|Index|etf|ETF) 또는 0에서 모든 문자열과 일치하는 경우 1이있는 언급 한 바와 같이

x = c("idx", "a", "b","c", "Index") 

이 그럼 당신은 바이너리 벡터를 만들 수 있습니다

library(readxl) 
mydata <- read_excel("C:/category.xlsx",sheet = 1) 
utils::View(mydata) 
mydata <- subset(mydata, global_group=="Equity") 
+0

당신이 상상하는 것을 쉽게 상상할 수있는 코드 (심지어 작동하지 않는 코드)를 공유 할 수 있습니까? –

+0

최소한의 재현 가능한 예를 제공해주십시오. 참고로 [here] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 참조하십시오. – www

+0

'% in % '를 보시기 바랍니다. – Wen

답변

0

는 값의 벡터가 있다고 가정
result = sapply(x, function(x) ifelse(grepl("idx|Idx|indx|Indx|index|Index|etf|ETF", x) == 1, 1, 0)) 
+1

'ifelse()'가 필요 없습니다. '+ sapply (x, function (x) grepl ("idx | Idx | indx | Indx | 인덱스 | etf | ETF", x))'또는'stringi :: stri_detect_regex | Idx | indx | Indx | 인덱스 | 인덱스 | etf | ETF ")' –