rapids/src/data/download_dataset.R

24 lines
855 B
R

if (exists("snakemake"))
source("packrat/init.R")
library(RMySQL)
library(stringr)
library(dplyr)
participant <- snakemake@input[[1]]
group <- snakemake@params[[1]]
sensor_file <- snakemake@output[[1]]
device_id <- readLines(participant, n=1)
rmysql.settingsfile <- "./.env"
sensor <- tools::file_path_sans_ext(basename(sensor_file))
stopDB <- dbConnect(MySQL(), default.file = rmysql.settingsfile, group = group)
query <- paste("SELECT * FROM ", sensor, " WHERE device_id LIKE '", device_id, "'", sep = "")
sensor_data <- dbGetQuery(stopDB, query)
sensor_data <- sensor_data[order(sensor_data$timestamp),]
# Droping duplicates on all columns except for _id
sensor_data <- sensor_data %>% distinct(!!!syms(setdiff(names(sensor_data), "_id")))
write.table(sensor_data, sensor_file, row.names = FALSE, quote = FALSE, sep = ",")
dbDisconnect(stopDB)