벡터화 된 작업을 사용하여 데이터 테이블에서 선택한 변수의 클래스를 변경하고 싶습니다. 나는 data.table 문법을 처음 사용하고 가능한 한 많이 배우려고 노력하고있다. 나는 이제 기본적인 질문이지만 데이터 표의 사고 방식을 더 잘 이해하는 데 도움이 될 것입니다!데이터 테이블의 선택 열을 다시 분류
비슷한 질문이 있습니다. here! 그러나이 솔루션은 단 하나의 열 또는 모든 열을 재 분류하는 것과 관련이있는 것으로 보입니다. 내 질문은 일부 소수의 열에는 고유합니다.
### Load package
require(data.table)
### Create pseudo data
data <- data.table(id = 1:10,
height = rnorm(10, mean = 182, sd = 20),
weight = rnorm(10, mean = 160, sd = 10),
color = rep(c('blue', 'gold'), times = 5))
### Reclass all columns
data <- data[, lapply(.SD, as.character)]
### Search for columns to be reclassed
index <- grep('(id)|(height)|(weight)', names(data))
### data frame method
df <- data.frame(data)
df[, index] <- lapply(df[, index], as.numeric)
### Failed attempt to reclass columns used the data.table method
data <- data[, lapply(index, as.character), with = F]
어떤 도움을 주시면 감사하겠습니다. 내 데이터가 크기 때문에 정규 표현식을 사용하여 재 분류 할 열 번호 벡터를 만드는 것이 필요합니다.
감사합니다.
+1 그게 다야 !! 좋아, 내 대답이 잘못 되었기 때문에 나는 그것을 지울거야. –
아니, 내가 그 트릭 ('.SDCols')을 배웠다. – dickoa
(+1) 당신은 직접'index'도 전달할 수있다. – Arun