r - string_split,读取文件并将它们存储到不同的列表中
问题描述
我有一个要读入的文件名字符串。
它们看起来像:
称为:files_to_read
c:/file1/risk/2001
c:/file1/risk/2002
c:/file1/risk/2003
c:/file1/risk/2004
c:/file1/mgnt/2001
c:/file1/mgnt/2002
c:/file1/mgnt/2003
c:/file1/mgnt/2004
我正在尝试创建一个函数来读取数据并将它们存储为列表:以下读取字符串中的所有文件并将它们存储在单个列表中:
readdata <- function(fn){
dt_temp <- fread(fn, sep = ",")
return(dt_temp)
}
mylist <- lapply(file_to_read, readdata)
但是,我想将结果存储在 2 个单独的列表中,一个risk
用于mgnt
. 我有以下不起作用:
readdata <- function(fn){
function(split){
risk <- str_subset(cosine_results, pattern = "risk")
mgnt <- str_subset(cosine_results, pattern = "mgnt")
dt_temp <- fread(risk, sep = ",")
return(dt_temp)
}
}
mylist <- lapply(files_to_read, readdata)
我考虑过基于risk
andmgnt
值的子集化并单独阅读它们可能会创建一个列表列表,但它会中断。
解决方案
这是移动事物的一种方式
readdata <- function(fn){
fread(fn, sep = ",")
}
lapply(c("risk", "mgnt"), function(x) {
lapply(str_subset(files_to_read, pattern = x), readdata)
})
我们只是lapply
对您想要匹配的不同模式进行筛选,然后过滤您发送到 read.data 的文件列表。
推荐阅读
- python - PySpark Dataframe pickle 异常:构造 ClassDict 的预期零参数(对于 pyspark.ml.linalg.DenseVector)
- typescript - WebStorm IDE 对 Vue 3 Composition API 的支持真的很差,还是我的配置搞砸了?
- python - 如何绘制每日最大值
- vue.js - Vue3基于父级传递的异步prop获取数据的最佳方法
- javascript - 在 mousemove 上更改与其中心相关的按钮位置
- r - (堆叠)在 facet_grid 内分组的条形图
- java - 如何在 Java SE 的 MainForm 容器中打开客户 fxml 文件?
- c# - How can I get the next date from a list of DayOfWeek?
- join - Gremlin,组合两个查询并连接数据
- javascript - 使用 nightwatchjs 标签时 ssh2 测试未关闭