2012-01-09 99 views
5

在此先感謝您的回覆。 我試圖創建一個CSV文件堆疊柱狀圖中,我遇到了以下打嗝: 首先,我把CSV到一個變量:Barplot不評估R中的數據

test <- read.csv(file=\"test4.csv\",sep=\",\",head=TRUE") 

然後我嘗試使用創建柱狀圖以下

barplot(test) 

,我得到以下錯誤,

Error in barplot.default(test) : 'height' must be a vector or a matrix 

所以我儘量

barplot(t(test)) 

和它的作品,但作爲預期的軸切換,所以我儘量

barplot(t(t(test))) 

和它的作品,但我覺得必須有比調換調換一個更好的解決方案。

回答

12

問題是,read.csv outputs a data framebarplot expects either a vector or a matrix。因爲t() coerces data frames to matrices,所以barplot函數在轉置時起作用。

如果你要麼開始

test <- as.matrix(read.csv(file="test4.csv",sep=",",head=TRUE)) 

或更高版本上做

barplot(as.matrix(test)) 

那麼你應該罰款。

+0

太棒了!側面的問題:我怎麼能說第一列不是數據的一部分 – 2012-01-09 19:28:11

+2

你的意思是你不想包含'test'的第一列?在這種情況下,你可以調用'barplot(as.matrix(test [,2:ncol(test)]))'(也就是從第二個開始,以'test' (這是'ncol(test)'))。 – 2012-01-09 19:30:06