具有多个变量的 R 路径
R path with multiple variables
我有一些这种格式的目录和文件
/home/scratch/test/123/local/test.vcf.gz
/home/scratch/test/456/local/test.vcf.gz
/home/scratch/test/789/local/test.vcf.gz
我有一段代码基本上指向这些目录并将所有 test.vcf.gz 组合到 Rdata 中,但是这部分代码会抛出错误
dat = read_csv("input.csv") %>%
gather(pipeline, id, `SRS`) %>%
mutate(pipeline_clean = c("SRS" = "main")[pipeline]) %>%
mutate(output = sprintf("/home/scratch/test/%s/local/%s", id)) %>%
mutate(Group.Id = sprintf("%s_%s_%s_%s", prep, platform, pipeline_clean, ref))
Error: Problem with `mutate()` input `output`.
x too few arguments
ℹ Input `output` is `sprintf(...)`.
但是当我将输出目录更改为 /home/scratch/test/123/local/%s
时,它不会抛出任何错误。我假设我可以使用 %s
为多个变量提供路径,任何建议都会有所帮助。
谢谢
如果我们想多次插入相同的值,即 %s
重复两次,我们需要重复 sprintf
中的参数
...
mutate(output = sprintf("/home/scratch/test/%s/local/%s", id, id)) %>%
...
如果后缀总是test.vcf.gz
,那么我们可以去掉最后的%s
mutate(output = sprintf("/home/scratch/test/%s/local/test.vcf.gz", id))
我有一些这种格式的目录和文件
/home/scratch/test/123/local/test.vcf.gz
/home/scratch/test/456/local/test.vcf.gz
/home/scratch/test/789/local/test.vcf.gz
我有一段代码基本上指向这些目录并将所有 test.vcf.gz 组合到 Rdata 中,但是这部分代码会抛出错误
dat = read_csv("input.csv") %>%
gather(pipeline, id, `SRS`) %>%
mutate(pipeline_clean = c("SRS" = "main")[pipeline]) %>%
mutate(output = sprintf("/home/scratch/test/%s/local/%s", id)) %>%
mutate(Group.Id = sprintf("%s_%s_%s_%s", prep, platform, pipeline_clean, ref))
Error: Problem with `mutate()` input `output`.
x too few arguments
ℹ Input `output` is `sprintf(...)`.
但是当我将输出目录更改为 /home/scratch/test/123/local/%s
时,它不会抛出任何错误。我假设我可以使用 %s
为多个变量提供路径,任何建议都会有所帮助。
谢谢
如果我们想多次插入相同的值,即 %s
重复两次,我们需要重复 sprintf
...
mutate(output = sprintf("/home/scratch/test/%s/local/%s", id, id)) %>%
...
如果后缀总是test.vcf.gz
,那么我们可以去掉最后的%s
mutate(output = sprintf("/home/scratch/test/%s/local/test.vcf.gz", id))