【发布时间】:2015-12-26 19:21:15
【问题描述】:
我有一些结构相同的数据表,我想对它们进行一些数据转换(创建新变量、分配缺失值等)
这是我尝试过的,但没有成功。此代码运行正常,但不会更改数据表。有什么想法吗?
对于一个可重现的示例,首先运行这个 sn-p 代码
data("mtcars") # load data
setDT(mtcars) # convert to data table
mtcars[gear==5, gear :=NA] # create NA values for the purpose of my application
mtcars2 <- mtcars # create second DT
我的代码
# Create function
computeWidth <- function(dataset){
dataset$gear[is.na(dataset$gear)] <- 0 # Convert NA to 0
dataset[ ,width := hp + gear] # create new variable
}
# Apply function
lapply(list(mtcars, mtcars2), computeWidth)
如您所见,该函数工作正常,但它没有修改数据表。对此有什么想法吗?
【问题讨论】:
标签: r data.table apply lapply