我希望使用矢量化操作更改数据表中选定变量的类别。我是 data.table 语法的新手,并且正在尝试尽可能多地学习。我现在的问题是基本的,但它会帮助我更好地理解数据表的思维方式!
类似的问题在这里被问到了!但是,该解决方案似乎与仅重新分类一列或所有列有关。我的问题在少数几列中是独一无二的。
### 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]
任何帮助,将不胜感激。我的数据很大,因此有必要使用正则表达式创建列号向量来重新分类。
感谢您的时间。