【问题标题】:Importing shell variable into R将shell变量导入R
【发布时间】:2021-08-07 07:54:01
【问题描述】:

我是 R 的初学者

我不知道如何将我的 shell 变量导入 R。

read -p " enter the Read :" r1

tabix -h -R Reference/Covered_region.bed output/"$r1"/"$r1".vcf.gz > output/"$r1"/Covered_"$r1".vcf

perl convert2annovar.pl -format vcf4 output/"$r1"/Covered_"$r1".vcf -outfile output/"$r1"/Covered_"$r1".avinput -includeinfo -withzyg

perl table_annovar.pl output/"$r1"/Covered_"$r1".avinput humandb/ -buildver hg38 -out output/"$r1"/"$r1"_GATK.hg38_multianno.csv -csvout

现在我想将我的 perl 脚本 output/"$r1"/"$r1"_GATK.hg38_multianno.csv 的最后一个输出导入到 R

我的 R 脚本看起来像

library(readr)

test <- read_csv("/output/"$r1"/"$r1"_GATK.hg38_multianno.csv")
data= test[!duplicated(as.list(test))]
filtering= data[data$`1000g2015aug_all` <=0.01,]
write.csv(data,"output/"$r1"/"$r1".csv",row.names = F)

【问题讨论】:

  • 我很困惑,您使用的是perl 还是R?因为您的 R 代码看起来也不太像 R。R 不使用 $ 作为变量。你如何准确地调用 R 脚本?您是否使用带有参数的Rscript?或者它如何与 perl 交互?
  • 我在我的 shell 脚本中使用 Perl。用户必须输入文件名。我用它作为程序的输入。 shell 脚本包含许多其他编程,我想使用将在 CSV 文件中的 Perl 的输出到 R 中,并且它想要过滤和删除重复项。来自 CSV 文件。
  • 那么,如果我理解正确的话,您想将 bash 的参数提供给 R 吗?如果是这样,以下链接中的答案是:12
  • 我在上面添加了几行我的编程。目前,用于使用输出名称从名称中获取变量作为输入。我不想更改文件名。最后,我以 CSV 文件结束。这将是我的 R 的输入。目前我正在手动导入文件有没有办法在管道中导入我的文件。例如,我已经存储了上面的 R 脚本。和 sun 作为 `R test.r 文件名'

标签: r shell


【解决方案1】:

library(readr)

#importing data

args &lt;- commandArgs(TRUE)

filename &lt;-args[1]

filename1 &lt;-args[2]

testdata &lt;- read_csv(filename)

data= testdata[!duplicated(as.list(testdata))]

filtering= data[data$`1000g2015aug_all` &lt;=0.01,]

write.csv(data,paste0(filename1,".csv"),row.names = F)

使用 Rscript Filtering_variants.r test1.csv out 2>out_error.txt

【讨论】:

    猜你喜欢
    • 2019-07-06
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2015-10-19
    • 1970-01-01
    • 2011-02-14
    相关资源
    最近更新 更多