2015-06-18 59 views
0

我試圖將R中的數據從電子表格的一列分爲三個不同的類別:Cod,Haddock和Whiting。然而,出於某種原因,哈多克並不工作,並且說這個子集沒有任何觀察結果,實際上應該有51個 - 其他兩個類別的子集都很好,所有的觀測結果都是一致的。這可能是什麼原因?電子表格似乎沒有問題,似乎也沒有包含任何明顯的問題,但有什麼我可以忽略的?子集化數據問題;沒有收集一個類別的觀察

感謝

編輯:

OK,這裏的數據在這裏設置的一部分......

OpCode     Species  DistanceFromCoast 
SA_F1_280714_C4_1 Atlantic cod 583.69 
SA_F1_280714_C4_1 Haddock   583.69 
SA_F1_280714_C4_1 Whiting   583.69 
SA_F1_290714_C2_10 Atlantic cod 892.51 
SA_F1_290714_C2_10 Haddock   892.51 
SA_F1_290714_C2_10 Whiting   892.51 
SA_F1_280714_C4_6 Haddock   1080.5 
SA_F1_280714_C4_6 Whiting   1080.5 
SA_F1_280714_C4_6 Atlantic cod 1080.5 
SA_F1_280714_C4_7 Whiting   1030.59 
SA_F1_280714_C4_7 Haddock   1030.59 
SA_F1_280714_C4_7 Atlantic cod 1030.59 
+0

一些示例數據將會有所幫助。 – GarAust89

+0

您如何閱讀文件?您的'read.table'或'read.csv'語句將有助於 – Michal

+0

檢查Haddock的類別究竟包含什麼,當列中的值爲「Haddock」或「Haddock」時,您可能正在檢查「Haddock」 (不是空格)。你究竟如何對數據進行子集化?你能給我們的代碼和一些示例值嗎? –

回答

0

也許有一些與你的變量class。嘗試

str(dat) 
'data.frame': 12 obs. of 3 variables: 
$ OpCode   : Factor w/ 4 levels "SA_F1_280714_C4_1",..: 1 1 1 4 4 4 2 2 2 3 ... 
$ Species   : Factor w/ 3 levels "Atlantic Cod",..: 1 2 3 1 2 3 2 3 1 3 ... 
$ DistanceFromCoast: num 584 584 584 893 893 ... 

分組操作應該可以正常工作,

library(dplyr) 
dat %>% group_by(Species) %>% 
    summarise(Ave.Dist = mean(DistanceFromCoast)) 
#  Species Ave.Dist 
# 1 Atlantic Cod 896.8225 
# 2  Haddock 896.8225 
# 3  Whiting 896.8225 

要使用ggplot2圖表按組,你需要指定aes(即顏色,形狀,組等),一個分組選項。

library(ggplot2) 
ggplot(dat, aes(x=Species, y=DistanceFromCoast, fill=Species)) + geom_bar(stat="identity") 
+0

謝謝LegalizeIt的建議(我會給你如果我有足夠的代表,則表示贊成)。雖然有可能使用這個函數來分類三種物種並製作圖表嗎?這部分是這個數據集的問題 – Brooke