R - 将操作应用于数据中的多个指定列 table
R - Apply operation to multiple specified columns in data table
假设我有一个数据 table,其中有很多列。许多这些列都采用奇怪的 Excel 日期格式,因此它们看起来像这样:47619。
我可以使用以下代码将列正确转换为普通格式:
dt[, old_date:= as.Date(old_date, origin = "1899-12-30")]
我可以重复或添加到这一行以对其他列执行相同的操作。但是一次对所有指定列执行此操作的最佳方法是什么?我对使用应用函数不太熟悉,但我认为这可能是一个开始的地方?
谢谢!
一个选项是在.SDcols
中指定感兴趣的列,然后遍历Subset of Data.table
(.SD
),进行处理然后赋值(:=
) 输出回到列
nm1 <- names(dt)[1:5] # change here
dt[, (nm1) := lapply(.SD, as.Date, origin = "1899-12-30"), .SDcols = nm1]
假设我有一个数据 table,其中有很多列。许多这些列都采用奇怪的 Excel 日期格式,因此它们看起来像这样:47619。
我可以使用以下代码将列正确转换为普通格式:
dt[, old_date:= as.Date(old_date, origin = "1899-12-30")]
我可以重复或添加到这一行以对其他列执行相同的操作。但是一次对所有指定列执行此操作的最佳方法是什么?我对使用应用函数不太熟悉,但我认为这可能是一个开始的地方?
谢谢!
一个选项是在.SDcols
中指定感兴趣的列,然后遍历Subset of Data.table
(.SD
),进行处理然后赋值(:=
) 输出回到列
nm1 <- names(dt)[1:5] # change here
dt[, (nm1) := lapply(.SD, as.Date, origin = "1899-12-30"), .SDcols = nm1]