1
integer에서 이름에 특정 문자열 "_cat"이있는 data.table의 일부 열을 변환하려고합니다. 범주 형 데이터 유형. data.table의 전체 열 수는 큽니다 (700 이상). 데이터 유형을 변경하기 위해 이름에 _cat이 포함 된 항목을 파악하기 위해 700 개 이상의 열을보고 싶지 않습니다.많은 수의 data.table 열을 단순히 열 이름의 문자열 패턴과 일치 시켜서 변환합니다.
cat_id <- grepl('_cat', colnames(dt))
어떻게 든 내가 변환이 CAT_ID에게 논리적 벡터를 사용해야합니다 :
먼저 내가 열 이름에 '_cat을'이 나타내는 논리적 배열을 얻을 수 (그들은 모든 data.table에 걸쳐 무작위입니다) 대응하는 열은 cat_id의 TRUE를 인수로 취합니다. 나는이 작업에 의해 그룹 아니다dt <- dt[, lapply(.SD, as.factor), by = ??? ]