我有一个Rscript,可以在数据集上创建各种2D图表。我希望能够根据我想要查看的关系更改X变量。所以我将X变量作为命令行参数。除了动机,我希望能够运行命令:
scoreData <- read.csv(..)
xVarString <- args[0]
levels(paste(scoreData$,xVarString,sep=""))
但它只返回NULL。我知道paste会返回一个字符串。我知道levels()不接受字符串。我不知道的是level函数接受的类型。我试过了
levels(as.vector(paste(scoreData$,xVarString,sep="")))
levels(as.list(paste(scoreData$,xVarString,sep="")))
levels(as.data.frame(paste(scoreData$,xVarString,sep="")))
作为一般性问题,是否有一个显示R函数输入/输出/文档的地方,类似于.NET文档和Java文档?我找到了很多教程,但没有直接的功能文档。
提前解决问题。答案 0 :(得分:1)
levels
接受类factor
的向量(函数levels(x)
实际上只是attr(x, "levels")
的简写。
您需要将实际的数据列传递给levels
。 "ScoreData$Column1"
只会传递字符串(正如您指出的那样)。你可以这样做:
levels(scoreData[,xVarString])
假设xVarString
是所需列名称的字符串。一种更简单的方法是:
sapply(scoreData, levels)
查看按列分隔的所有级别。