2013-10-10 105 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) 

查看按列分隔的所有級別。