NA напечатаны из пакета с наложением - SunTime - PullRequest
0 голосов
/ 05 марта 2019

Моя цель состоит в том, чтобы в конечном итоге использовать пакет перекрытия для создания плотности активности различных видов на основе данных ловушек камеры, используя время солнца.Каждый раз, когда я использую SunTime (), он просто печатает NA для времени.Все аргументы для SunTime заполнены и не содержат NA, поэтому не уверены, почему он не работает.

#Subset of very large dataframe: 
 a <- dput(droplevels(a))
structure(list(X.1 = 1:6, X = 1:6, Station = structure(c(1L, 
1L, 1L, 1L, 1L, 1L), .Label = "Deer - Doe", class = "factor"), 
    Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "Deer - Doe", class = "factor"), 
    DateTimeOriginal = structure(1:6, .Label = c("2018-04-04 07:52:00", 
    "2018-04-05 10:37:00", "2018-04-05 13:16:00", "2018-04-08 12:12:00", 
    "2018-04-27 11:04:00", "2018-05-07 20:46:00"), class = "factor"), 
    Date = structure(c(1L, 2L, 2L, 3L, 4L, 5L), .Label = c("2018-04-04", 
    "2018-04-05", "2018-04-08", "2018-04-27", "2018-05-07"), class = "factor"), 
    Time = structure(c(6L, 1L, 4L, 3L, 2L, 5L), .Label = c("10:37:18", 
    "11:04:00", "12:12:46", "13:16:50", "20:46:43", "7:52:43"
    ), class = "factor"), delta.time.secs = c(0L, 96275L, 9572L, 
    255356L, 1637474L, 898963L), delta.time.mins = c(0L, 1605L, 
    160L, 4256L, 27291L, 14983L), delta.time.hours = c(0, 26.8, 
    2.7, 70.9, 454.9, 249.7), delta.time.days = c(0, 1.1, 0.1, 
    3, 19, 10.4), Directory = structure(c(1L, 1L, 1L, 1L, 1L, 
    1L), .Label = "/Users/skreling32/Desktop/Fire_Project/Camera_Traps/New_Camera/A03_040318_060418/Deer - Doe", class = "factor"), 
    FileName = structure(1:6, .Label = c("IMG_0001.JPG", "IMG_0025.JPG", 
    "IMG_0061.JPG", "IMG_0097.JPG", "IMG_0124.JPG", "IMG_0187.JPG"
    ), class = "factor"), Station.1 = structure(c(1L, 1L, 1L, 
    1L, 1L, 1L), .Label = "A03", class = "factor")), row.names = c(NA, 
6L), class = "data.frame")


a$DateTimeOriginal <- as.POSIXct(a$DateTimeOriginal, format="%Y-%m-%d %H:%M:%S", tz="America/Los_Angeles")
a$DST <- dst(a$DateTimeOriginal)


a$Time.Corrected <- hms(a$Time)

for (i in 1:nrow(a)){
  if (a$DST[i]==FALSE){
    if(a$Time.Corrected$hour[i]==0){
      a$Time.Corrected$hour[i]<-23
    } else {
      a$Time.Corrected$hour[i] <- a$Time.Corrected$hour[i]-1
    }
  }
}

Dates <- as.POSIXct(a$Date, tz="America/Los_Angeles")




coords <- matrix(c(39.009, -123.08), nrow=1)
Coords <- sp::SpatialPoints(coords, proj4string = sp::CRS("+proj=longlat +datum=WGS84"))
#convert time from HH:MM:SS to decimal hours
a$Time.Decimal <- a$Time.Corrected$hour + a$Time.Corrected$minute/60+a$Time.Corrected$second/3600
#scale time to be between 0 and 1
a$Time.scaled <- a$Time.Decimal/24
#convert to radians
a$Time.Radians <- a$Time.scaled*2*pi
#calculate suntime
a$Time.Sun <- sunTime(a$Time.Radians, Dates,Coords)


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...