2014-06-24 84 views
0

我正在試圖從表格/列表中繪製密度,其中第1列僅僅是數據的名稱/標籤,第2列是我想繪製的實際數字。從R表格中繪製密度

如果我只是有一個數字文件,我可以讓我的代碼使用掃描功能。但是,當我有我的表時,我得到一個argument 'x' must be numeric錯誤。

這裏是我的代碼:

library(gplots) 
dataLine = read.table("fileLocation") 

den = density(dataLine) 

plot(den, col = "red", ylim = c(0, 50), xlim = c(0.045,1)) 

我應該使用像這是什麼先前的問題已經與選擇特定的列呢? Plotting densities in R

即應該將我的代碼更改爲d <- density(table[dataLine$position==2,]$rt)

因爲這給了我一個錯誤說object of type'closure' is not subsettable

上我應該做的情節我數列是什麼有什麼建議?道歉,如果我的代碼沒有意義; R

+1

我不認爲你需要任何東西gplots。你可以將輸出發佈到'den'嗎?請注意'plot(密度(1:10))'如何運作良好。 –

+0

@SeñorO對於'den = density(dataLine)'我的輸出是'density.default(dataLine)中的錯誤:參數'x'必須是數字' – mookamooka

+0

所以問題在於dataline的格式,而不是在繪圖中。 –

回答

2

您的數據對象是一個有多列的數據框,您只需要將數據列傳遞給density函數。要通過數據幀的第2列,你可以這樣做:

density(dataline[[2]]) 

請參閱幫助頁?'[['了更多的選擇,只使用一個數據幀的一部分。