-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathloadData.R
93 lines (72 loc) · 3.2 KB
/
loadData.R
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
loadData <- function(type, path)
{
directoryPath <- paste("raw/", path, "/", sep="")
fileList <- list.files(directoryPath)
dataList <- list()
for(i in 1:length(fileList))
{
filePath <- paste(directoryPath, fileList[i], sep="")
copyFrame <- read.csv(filePath, header = F, stringsAsFactors = FALSE)
fileID <- as.integer(substr(copyFrame$V1[2], 13, 17))
copyFrame <- copyFrame[5:nrow(copyFrame), ]
if(type == "gps")
{
colnames(copyFrame) <- c("DateTime", "Latitude", "Longitude", "Altitude", "Duration", "Temperature", "DOP", "Satellites", "Fix")
copyFrame <- copyFrame[copyFrame$Fix == "GPS Schedule", ]
copyFrame$Latitude <- as.numeric(copyFrame$Latitude)
copyFrame$Longitude <- as.numeric(copyFrame$Longitude)
copyFrame$Altitude <- as.numeric(copyFrame$Altitude)
copyFrame$Duration <- as.numeric(copyFrame$Duration)
copyFrame$Temperature <- as.numeric(copyFrame$Temperature)
copyFrame$DOP <- as.numeric(copyFrame$DOP)
copyFrame$Satellites <- as.factor(copyFrame$Satellites)
# copyFrame$DateTime <- as.POSIXct(copyFrame$DateTime)
copyFrame$DateTime <- strptime(copyFrame$DateTime, "%Y-%m-%d %I:%M:%S %p", tz = "GMT")
# copyFrame$DateTime <- with_tz(copyFrame$DateTime, "America/Edmonton")
# copyFrame$DateTime <- tempData
class(copyFrame$DateTime)
}
else if(type == "prox")
{
colnames(copyFrame) <- c("Start", "Stop", "Proximity", "Duration", "RSSI")
#copyFrame$Start <- as.POSIXct(copyFrame$Start)
#copyFrame$Stop <- as.POSIXct(copyFrame$Stop)
copyFrame$Start <- strptime(copyFrame$Start, "%Y-%m-%d %I:%M:%S %p", tz = "GMT")
# tempStart <- with_tz(tempStart, "America/Edmonton")
# copyFrame$Start <- tempStart
copyFrame$Stop <- strptime(copyFrame$Stop, "%Y-%m-%d %I:%M:%S %p", tz = "GMT")
# tempStop <- with_tz(tempStop, "America/Edmonton")
# copyFrame$Stop <- tempStop
}
else if(type == "accl")
{
colnames(copyFrame) <- c("DateTime", "X", "Y", "Z", "Temperature")
copyFrame$X <- as.numeric(copyFrame$X) * 0.31392
copyFrame$Y <- as.numeric(copyFrame$Y) * 0.31392
copyFrame$Z <- as.numeric(copyFrame$Z) * 0.31392
copyFrame$Temperature <- as.numeric(copyFrame$Temperature)
# ForceSum <- sqrt(copyFrame$X^2 + copyFrame$Y^2 + copyFrame$Z^2)
#
# copyFrame <- cbind(copyFrame, ForceSum)
copyFrame$DateTime <- strptime(copyFrame$DateTime, "%Y-%m-%d %I:%M:%S %p", tz = "GMT")
# copyFrame$DateTime <- as.POSIXct(copyFrame$DateTime)
# copyFrame$DateTime <- strptime(copyFrame$DateTime, "%Y-%m-%d %H:%M:%S", tz = "GMT")
# tempData <- with_tz(tempDate, "America/Edmonton")
# copyFrame$DateTime <- tempData
}
copyFrame <- transform(copyFrame, CollarID = as.factor(fileID))
prefix <- "ID"
varname <- paste(prefix, fileID, sep="_")
logNames <- names(dataList) == varname
listSum <- sum(logNames)
if(listSum > 0)
{
dataList[[varname]] <- rbind(dataList[[varname]], copyFrame)
}
else
{
dataList[[varname]] <- copyFrame
}
}
return(dataList)
}