2013-10-10 76 views
0

我有一个Rscript,可以在数据集上创建各种2D图表。我希望能够根据我想要查看的关系来更改X变量。所以我让X变量成为命令行参数。除了动机,我希望能够运行命令:输入级别功能 - R

scoreData <- read.csv(..) 
xVarString <- args[0] 
levels(paste(scoreData$,xVarString,sep="")) 

但它只是返回NULL。我知道粘贴返回一个字符串。我知道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文档的地方吗?我发现很多教程,但没有直接的功能文档。

Thakns提前。

+0

在功能名称前面加一个问号可以显示其文档。 '?levels'或'?plot' –

回答

1

levels接受factor类的载体(功能levels(x)实际上只是attr(x, "levels")简写。

你需要数据的实际列传递给levels"ScoreData$Column1"只会把这个字符串(正如你指出)。你可以这样做:

levels(scoreData[,xVarString]) 

假设xVarString是所需的列名的字符串更简单的方法是:

sapply(scoreData, levels) 

查看按列分隔的所有级别。