continued
This commit is contained in:
@ -1,10 +1,45 @@
|
|||||||
library(DBI)
|
library(DBI)
|
||||||
library(tidyr)
|
library(tidyr)
|
||||||
|
|
||||||
con <- dbConnect(RPostgres::Postgres(), dbname='mainscnt', host='172.16.10.27', user='wn')
|
con <- dbConnect(RPostgres::Postgres(),
|
||||||
res <-dbSendQuery(con, "select time, location, freq from mainsfrequency where valid=1 and time >= '2021-08-05T00:00:00.0Z' and time < '2021-08-06T00:00:00.0Z'")
|
dbname='mainscnt',
|
||||||
devices <- dbFetch(res)
|
host='172.16.10.27',
|
||||||
dbClearResult(res)
|
user='wn')
|
||||||
dbDisconnect(con)
|
|
||||||
|
|
||||||
d2 <- devices %>% pivot_wider(names_from = location, values_from = freq)
|
START <- "2021-08-02T14:00:00.0Z"
|
||||||
|
END <- "2021-08-02T15:00:00.0Z"
|
||||||
|
|
||||||
|
res <-dbSendQuery(con, "select time, location, freq from mainsfrequency where valid=1 and time >= $1 and time < $2")
|
||||||
|
dbBind(res, list(START, END))
|
||||||
|
frequencies <- dbFetch(res)
|
||||||
|
dbClearResult(res)
|
||||||
|
|
||||||
|
freq_wide <- frequencies %>%
|
||||||
|
pivot_wider(names_from = location,
|
||||||
|
values_from = freq,
|
||||||
|
values_fn = mean)
|
||||||
|
|
||||||
|
|
||||||
|
THRESHOLD <- 0.5
|
||||||
|
|
||||||
|
for (colIdx in 2:length(freq_wide)) {
|
||||||
|
last <- freq_wide[[1, colIdx]]
|
||||||
|
for (rowIdx in 1:length(freq_wide[[colIdx]])) {
|
||||||
|
current <- freq_wide[[rowIdx, colIdx]]
|
||||||
|
if (!is.na(current) && !is.na(last) && (abs(current - last) > THRESHOLD)) {
|
||||||
|
freq_wide[[rowIdx, colIdx]] = NA
|
||||||
|
}
|
||||||
|
last <- current
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
freq_wide <- freq_wide %>%
|
||||||
|
rowwise() %>%
|
||||||
|
mutate(mad = mad(c_across(names(freq_wide)[-1]),
|
||||||
|
na.rm=TRUE))
|
||||||
|
|
||||||
|
# print(summary(freq_wide))
|
||||||
|
print(sum(freq_wide$mad) / length(freq_wide$mad))
|
||||||
|
|
||||||
|
dbDisconnect(con)
|
||||||
|
Reference in New Issue
Block a user