子集化数据的问题;没有拿起一个类别的观察结果

时间:2015-06-18 16:44:17

标签: r excel-2010 spreadsheet subset

我正在尝试将R中的数据从我的电子表格的一列分为三个不同的类别:Cod,Haddock和Whiting。然而,出于某种原因,Haddock没有工作,并且说这个子集没有观察结果,实际上应该有51个 - 其他两个类别的子集很好,所有观察结果都是如此。这可能是什么原因?电子表格似乎没问题,似乎没有任何明显的问题,但有什么我可以忽略的吗?

由于

编辑:

好的,这里是数据集的一部分......

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

1 个答案:

答案 0 :(得分: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")