我编写了一个简单的脚本,它将csv文件作为输入,执行一些操作,并返回一个txt文件。
1 bpseq <- read.csv(file = "/home/Desktop/bpseq.csv", header = FALSE)
2 names(bpseq) <- c("posi", "res", "posj") #bpseq has 3 columns
3 df <- data.frame(posi=integer(nrow(bpseq)),
4 ...
5 posj=character(nrow(bpseq)))
6 df$posi <- bpseq$posi
7 df$posj <- bpseq$posj
7 write.table(df, file = "/home/Desktop/bpseq_CLnotation.txt", col.names = F, row.names = F, sep = "\t")
这很好用,我可以使用“Rscript mybeautifulscript.R”在命令中成功运行它。
但我希望用户能够选择输入文件! 我当然试过了
bpseq <- read.csv(file.choose())
当我在RStudio中运行它时,它运行得很好,但我希望我的同事,对R不友好,能够在终端运行它。
从错误返回我知道file.choose()不是这样做的方法!该函数正在读取我的下一行代码,假设它是文件,当它是添加代码中的名称(bpseq),第2行时。
Nathalie写了一个很好的相关答案,在某些方面帮助了我,但我仍然不知道在命令行中获取用户输入文件的正确方法。有谁知道怎么做?
答案 0 :(得分:0)
-1 args <- commandArgs(trailingOnly = TRUE)
0 fn <- args[1]
1 bpseq <- read.csv(fn, header = FALSE)
在终端中运行:
Rscript mybeautifulscript.R inputfile.csv