2013-07-08 27 views
-2

我試圖用csv輸入文件創建一個點圖。 (是一個新的R用戶。)數據集有兩個變量,第一個是字符串變量和第二個數字。有48例沒有缺失數據。數據輸入正常:R數據輸入&dotplot

test <- read.table("c:/test_csv.csv", header=TRUE, sep=",") 
mydata 
    state indmed 
1  AL  -4 
2  AR  0 
3  AZ  2 
4  CA  8 
5  CO  5 
… 

但是,當我運行dotplot時,第一個字符串列無法識別。

dotchart (state$indmed, labels=row.names(state)) 
Error in dotchart(state$indmed, labels = row.names(state)) : 
    object 'state' not found 

不確定問題是否與輸入和/或點圖有關。這怎麼可以糾正? 謝謝,RB

+0

你的問題是不可複製的,它很難看到你的數據是什麼樣子。你可以改善你的問題(也格式化)? –

+3

您將數據作爲變量'test'讀取,但試圖將其稱爲變量'state'。嘗試:'dotchart(test $ indmed,test $ state)' – James

+0

我想你明顯的錯誤是你使用狀態對象當你想要做dotplot時,所以使用測試對象而不是那個 – Ehsan

回答

0

這是你在看什麼?

## Read the data 
data <- read.table(text="state indmed 
AL  -4 
AR  0 
AZ  2 
CA  8 
CO  5",header=T) 
data 

## Plot the dot chart 
dotchart(data$indmed,data$state,xlab="Indmed",ylab="States") 

輸出如下: enter image description here

+0

謝謝Jdbaba。這是我想要做的。這樣讀出的數據中的建議和數據輸入爲:>數據 state.indmed 1 AL,-4 2 AR,0 3 AZ,2 4 CA,8 5 CO,5 然而,當運行點圖(數據$ indmed,data $ state,xlab =「Indmed」,ylab =「States」)點錯誤): 'x'必須是數字向量或矩陣 再次感謝,RB – user2561726

+0

@ user2561726您似乎可能需要將您的變量改爲數字。你可以使用'data $ indmed < - as.numeric(data $ indmed)'來做到這一點。如果這不起作用,你可以試試'data $ indmed < - as.numeric(as.character(data $ indmed))'。 –

+0

問題解決。數據上傳問題。無法包含row.names =「state」。謝謝你的幫助。 – user2561726