R:从命令行传递一个字符串作为向量组件

时间:2016-12-20 23:27:24

标签: r vector command-line-arguments

我有一个名为counts的数据框,如下所示:

    Mark    Helen
A     12        1
B      3       56
C      8        9

我使用不同的函数为数据框的每一列分配一个组索引:

ind <- factor(c("MALE","FEMALE"))
result <- function(counts,ind)

每次我有一个不同的数据帧,而不是在我的R脚本中手动编辑ind <- factor(c("MALE","FEMALE"))命令,为了获得一些时间,我试图从命令行传递矢量组件。

我正在使用的命令行:

R -f my_script.R --args "MALE","FEMALE"

其中my_script.R是:

arg <- commandArgs(trailingOnly = TRUE)

ind <- factor(c(unlist(strsplit(path[1],","))))
result <- function(counts,ind)

虽然我得到了相同的ind值,但是我是手动编辑脚本还是从命令行传递参数:

> ind
[1] MALE FEMALE
Levels: MALE FEMALE
> ind[1]
[1] MALE
Levels: MALE FEMALE
> ind[2]
[1] FEMALE
Levels: MALE FEMALE

> length(ind)
[1] 2
> ncol(counts)
[1] 2

只有在我使用命令行中的参数时才会出现此错误:

> result <- function(counts,ind)
 length(ind) == ncol(counts) is not TRUE

任何想法,我怎么能正确传递字符串参数?

0 个答案:

没有答案