1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# R Script to analyse HOBO data
## by Charlotte Kunze 01 May 2019

setwd("~/Desktop/Irland/data")
library(lubridate)
library(tidyverse)
library(scales)

#### import data ####
## constant HOBOs
constant_10 <- read_csv2('~/Desktop/Irland/data/hobo/10_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp) %>%
  filter(temp != 'NA') 

constant_13 <- read_csv2('~/Desktop/Irland/data/hobo/13_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp) %>%
  filter(temp != 'NA') 

constant_16 <- read_csv2('~/Desktop/Irland/data/hobo/16_degree_light_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp, light) %>%
  filter(temp != 'NA') 
constant_16_t <- select(constant_16, -light)
constant_19 <- read_csv2('~/Desktop/Irland/data/hobo/19_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp) %>%
  filter(temp != 'NA') 

constant_22 <- read_csv2('~/Desktop/Irland/data/hobo/22_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 

constant_25 <- read_csv2('~/Desktop/Irland/data/hobo/25_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 

constant_28 <- read_csv2('~/Desktop/Irland/data/hobo/28_degree_constant_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 



## FLUX HOBOs ### 
flux_mean13 <- read_csv2('~/Desktop/Irland/data/hobo/10-16_degree_flux_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 
  
flux_mean16 <- read_csv2('~/Desktop/Irland/data/hobo/13-19_degree_flux_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 

  
flux_mean19 <- read_csv2('~/Desktop/Irland/data/hobo/16-22_degree_flux_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 


flux_mean22 <- read_csv2('~/Desktop/Irland/data/hobo/19-25_degree_flux_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 

flux_mean25 <- read_csv2('~/Desktop/Irland/data/hobo/22-28_degree_flux_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 


## PULSE HOBOs

pulse_13 <- read_csv2('~/Desktop/Irland/data/hobo/13_degree_pulse_+6_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA') 

pulse_16 <- read_csv2('~/Desktop/Irland/data/hobo/16_degree_pulse_+6_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA')

pulse_19 <- read_csv2('~/Desktop/Irland/data/hobo/19_degree_pulse_+6_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp)%>%
  filter(temp != 'NA')

pulse_22 <- read_csv2('~/Desktop/Irland/data/hobo/22_degree_light_pulse_+6_end.csv', col_types = cols(date = col_datetime(format = "%m.%d.%y %I:%M:%S%p")) )%>%
  select(no, date, temp, light)%>% # light HOBO
  filter(temp != 'NA')
pulse_22_t <- select(pulse_22, -light)


### --------------------------------------------------------------------------------###
#### add tratment information 
constant_10 <- mutate(constant_10, id = paste('constant 10'),
                      expected_temp = paste(10)) 
constant_13 <- mutate(constant_13, id = paste('constant 13'),
                      expected_temp = paste(13))
constant_16_t <- mutate(constant_16_t, id = paste('constant 16'),
                        expected_temp = paste(16))
constant_19 <- mutate(constant_19, id = paste('constant 19'),
                      expected_temp = paste(19))
constant_22 <- mutate(constant_22, id = paste('constant 22'),
                      expected_temp = paste(22))
constant_25 <- mutate(constant_25, id = paste('constant 25'),
                      expected_temp = paste(25))
constant_28 <- mutate(constant_28, id = paste('constant 28'),
                      expected_temp = paste(28))
flux_mean13 <- mutate(flux_mean13, id = paste('flux 13'),
                      expected_temp = paste(13))
flux_mean16 <- mutate(flux_mean16, id = paste('flux 16'),
                      expected_temp = paste(16))
flux_mean19 <- mutate(flux_mean19, id = paste('flux 19'),
                      expected_temp = paste(19))
flux_mean22 <- mutate(flux_mean22, id = paste('flux 22'),
                      expected_temp = paste(22))
flux_mean25 <- mutate(flux_mean25, id = paste('flux 25'),
                      expected_temp = paste(25))
pulse_13 <- mutate(pulse_13, id = paste('pulse 13'),
                   expected_temp = paste(13))
pulse_16 <- mutate(pulse_16, id = paste('pulse 16'),
                   expected_temp = paste(16))
pulse_19 <- mutate(pulse_19, id = paste('pulse 19'),
                   expected_temp = paste(19))
pulse_22_t <- mutate(pulse_22_t, id = paste('pulse 22'),
                     expected_temp = paste(22))

# bind all data together
all_raw_temp <- rbind(constant_10, constant_13, constant_16_t, constant_19, constant_22, constant_25, constant_28,
                      flux_mean13,flux_mean16,flux_mean19, flux_mean22,flux_mean25, pulse_13, pulse_16,  pulse_19, pulse_22_t) 
#write.csv(all_raw_temp, file = 'all_raw_temperatures_hobo.csv')


### --------------------------------------------------------------------------------###
## --------------------------------------------------------------------------------###
#-----------------------------------------------------------------------------------#
#### calculate mean temperatures####
names(all_raw_temp)
mean_temp <- all_raw_temp %>%
  group_by(id) %>%
  summarise(realtemp = mean(temp)) %>%
  separate(id, into = c('treat', 'expected_temp'), sep = ' ')

# plot the expected temperature against observed temperatures 
ggplot(mean_temp, aes(x = as.numeric(expected_temp), y= realtemp, col = as.factor(treatment)))+
  geom_point(size = 3)+
  geom_abline(intercept = 0, slope = 1)+ #adds a vertical line
  labs( col = 'Treatment', x = 'expected mean temperature (in °C)', y = 'measured mean temperature (in °C)')+
  scale_color_manual(values=c('#003C67FF','#EFC000FF','#A73030FF'),labels = c('constant', 'fluctuating', 'heat wave'))+
  theme( panel.background = element_rect(fill = NA), #loescht den Hintergrund meines Plots/ fuellt ihn mit nichts
         panel.grid.major.y = element_line(color='grey', linetype = 'dashed', size=0.2),
         panel.border= element_rect(colour = "black", fill=NA, size=0.5),
         strip.background = element_rect(color = 'black', fill = 'grey95'),
         legend.background = element_blank(),
         legend.title = element_text(hjust=3), #schiebt text nach links in der Legende
         legend.position  ='bottom',
         legend.key = element_blank(),
         text = element_text(size = 13))
#ggsave('temperature_range.png',plot = last_plot(), width = 8, height = 6) #saves your plot at the given directory

mean_temp <- mean_temp %>%
  select(-expected_temp) %>%
  rename(meanTemp = realtemp, 
         treatment = treat) %>%
  mutate(treatment = paste(ifelse(treatment == 'flux', 'fluctuation', treatment)))
write.csv(MeanTempTreatments.csv)
names(mean_temp)
 
write.csv(mean_temp, 'MeanTempTreatments.csv')


#### temperature plots ####
temperature<-all_raw_temp  %>%
  filter(date > ymd_hms("2019-04-09 18:24:09"))%>%
  filter(date < ymd_hms("2019-05-06 09:24:09"))
#constant
ggplot(subset(temperature, id %in% c('constant 10', 'constant 13', 'constant 16', 'constant 19', 'constant 22', 'constant 25', 'constant 28' )), aes(x = date, y = temp))+
         geom_point()+
  facet_wrap(~id)+
  #scale_y_continuous(breaks = seq(10,28,6), limits = c(5, 30))+
  #scale_x_datetime(breaks = '7 days', date_labels = '%d.%m')+  
  labs(x = 'Date', y = 'Temperature (in °C)')+
  theme_classic()

#other
ggplot(subset(temperature, !id %in% c('pulse 22','constant 10', 'constant 13', 'constant 16', 'constant 19', 'constant 22', 'constant 25', 'constant 28' )), aes(x = date, y = temp))+
  geom_point(size = 0.5)+
  geom_line(size = 1)+
  facet_wrap(~id)+
 labs(x = 'Date', y = 'Temperature (in °C)')+
  theme_classic()
#ggsave(last_plot(), file = 'variable_temperatures.png',height = 8, width = 11)

pulse_22 %>%
  filter(date > ymd_hms("2019-04-09 18:24:09"))%>%
  filter(date < ymd_hms("2019-05-06 09:24:09"))%>%
  ggplot(., aes(x = date, y = temp))+
  geom_point()+
  geom_line()+
  geom_hline(aes(yintercept = mean(temp)), colour="blue")+
  scale_x_datetime(breaks = '3 days', date_labels = "%d.%m")+
  scale_y_continuous(breaks = seq(21, 29, 2), limits = c(20, 29))+
  labs(x = ' ', y = 'Temperature (in °C)')+
  theme_bw()


#light plot
pulse_22 %>%
  filter(date > ymd_hms("2019-04-09 18:24:09"))%>%
  filter(date < ymd_hms("2019-05-06 09:24:09"))%>%
  ggplot(., aes(x = date, y = light))+
  geom_point()+
  geom_line()+
  geom_hline(aes(yintercept = mean(light)), colour="blue")+
  scale_x_datetime(breaks = '3 days', date_labels = "%d.%m")+
  scale_y_continuous(breaks = seq(0, 3500, 500), limits=c(0, 3500))+
  labs(x = ' ', y = 'Light intensity (in lux)')+
  theme_bw()
#ggsave('pulse_22_light.png',plot = last_plot(), width = 8, height = 6) #saves your plot at the given directory