如何从 r-drake 中的多个文件导入?
How can I import from multiple files in r-drake?
我想从多个源文件中导入相似类别的数据。
每个来源都有一个短标签。
我如何将它合并到 drake 中,而不将每个文件写成它自己的目标?
我认为下面的方法会起作用,但它不起作用。理想情况下,我希望有目标 raw_a
和 raw_b
.
input_files <- list(
'a' = 'file_1.csv',
'b' = 'file_2.csv'
)
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = file_in(!! input_files)
)
)
)
与
import_file <- function(file) {
readr::read_csv(file, skip = 2)
}
这可能是惯用的解决方案。
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = file_in('file_1.csv', 'file_2.csv'),
label = c('a', 'b'),
.id = label
)
)
)
你们真亲密。 file_in()
需要在命令中按字面意思进行,而不是转换。
library(drake)
input_files <- c("file_1.csv", "file_2.csv")
plan <- drake_plan(
raw = target(
import_file(file_in(file)),
transform = map(file = !!input_files)
)
)
config <- drake_config(plan)
vis_drake_graph(config)
由 reprex package (v0.3.0)
于 2019-10-19 创建
file_in 需要围绕整个字符串
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = list(
file_in('file_1.csv'),
file_in('file_2.csv')
)
)
)
)
我想从多个源文件中导入相似类别的数据。
每个来源都有一个短标签。
我如何将它合并到 drake 中,而不将每个文件写成它自己的目标?
我认为下面的方法会起作用,但它不起作用。理想情况下,我希望有目标 raw_a
和 raw_b
.
input_files <- list(
'a' = 'file_1.csv',
'b' = 'file_2.csv'
)
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = file_in(!! input_files)
)
)
)
与
import_file <- function(file) {
readr::read_csv(file, skip = 2)
}
这可能是惯用的解决方案。
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = file_in('file_1.csv', 'file_2.csv'),
label = c('a', 'b'),
.id = label
)
)
)
你们真亲密。 file_in()
需要在命令中按字面意思进行,而不是转换。
library(drake)
input_files <- c("file_1.csv", "file_2.csv")
plan <- drake_plan(
raw = target(
import_file(file_in(file)),
transform = map(file = !!input_files)
)
)
config <- drake_config(plan)
vis_drake_graph(config)
由 reprex package (v0.3.0)
于 2019-10-19 创建file_in 需要围绕整个字符串
plan <-
drake::drake_plan(
raw = drake::target(
import_file(file),
transform = map(
file = list(
file_in('file_1.csv'),
file_in('file_2.csv')
)
)
)
)