我试图找出我数据框中特定位置(CB,HK等)的不同温度范围, 看起来像这样:
'head(join)'
OTU_num location date otus Depth DO Temperature pH Secchi.Depth
1 Otu0001 CB 03JUN09 21 0.0 7.60 21.0 3.68 NA
2 Otu0001 CB 03JUN09 21 0.5 8.27 16.4 3.68 NA
3 Otu0001 CB 03JUN09 21 1.0 7.65 14.9 3.68 NA
4 Otu0001 CB 03JUN09 21 1.5 5.26 12.2 3.25 NA
5 Otu0001 CB 03JUN09 21 2.0 4.01 10.1 3.25 NA
我正在使用以下方法计算范围:
ranges <- join %>%
group_by(location) %>%
na.omit %>%
mutate(min=min(Temperature), max=max(Temperature), subtract=min-max) %>%
arrange(subtract)
有些温度值是“ NA”,因此我使用了na.omit,但是它似乎正在取负值?所以我得到的范围是错误的。
location min max subtract
MA 0.1 27.3 -27.2
我使用范围功能对其中一个位置进行了仔细检查(有很多,我不想为每个位置使用范围)
MA <- subset(join, location=="MA")
range(MA$Temperature, na.rm = TRUE)
[1] -2.2 27.6
为什么值不同?任何帮助表示赞赏!!!
答案 0 :(得分:3)
我认为您应该使用join %>% filter(!is.na(Temperature))
,因此只会删除具有NA温度的行。