gpt4 book ai didi

重新分类数据表中的选择列

转载 作者:行者123 更新时间:2023-12-04 13:08:27 25 4
gpt4 key购买 nike

我希望使用矢量化操作更改数据表中选定变量的类别。我是 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]

任何帮助,将不胜感激。我的数据很大,因此需要使用正则表达式来创建要重新分类的列号向量。

感谢您的时间。

最佳答案

您可以避免构建 .SD 的开销。内j通过使用 set

for(j in index) set(data, j =j ,value = as.character(data[[j]]))

关于重新分类数据表中的选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com