我有一组文件,包含了一个大型模型的输出结果。我使用以下代码将其加载为datatable:
files <- list.files(path.expand("/XYZ/"), pattern = ".*\\.rds", full.names = TRUE)
dt<- as.data.table(files)
这个数据表"dt"只有一列,列名为文件名。 例如:XZY_00_34234.rds
每个文件名的第50和51个字符是一个数字。 我想创建一个数据表,包含每个文件的这两位数字。
我使用了以下代码:
index <- as.data.table(as.integer(substr(dt,50,51)))
这使我得到了第一个文件的正确值。 我认为我可以使用apply将其对每个文件的行进行运行。
我尝试过:
integers <- as.data.table(apply(dt,1,as.integer(substr(50,51))))
但是得到的结果是:
在substr(50, 51)中出现错误:参数“stop”缺失,没有默认值
欢迎任何建议!
integers <- as.data.table(apply(dt, 1, function(x) as.integer(substr(x, 50, 51))))
- Pierre L