ベクトル化された操作を使用して、データ テーブルで選択した変数のクラスを変更したいと考えています。私は data.table 構文が初めてで、できるだけ多くのことを学ぼうとしています。質問は基本的なものですが、データテーブルの考え方をよりよく理解するのに役立ちます!
同様の質問がここで尋ねられました!ただし、解決策は、1 つの列またはすべての列を再分類することに関連しているようです。私の質問は、選択したいくつかの列に固有のものです。
### 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]
どんな助けでも大歓迎です。データが大きいため、正規表現を使用して列番号のベクトルを作成し、再分類する必要があります。
お時間をいただきありがとうございます。