生成伪缺席数据时如何包括时间方面?

时间:2019-02-20 16:15:04

标签: r dismo

我有608个带有卫星标记的海龟的观测结果。我想用包括海面温度,当前速度,风速等在内的环境数据进行建模。当然,标记和环境数据在空间和时间上都会变化。我使用下面根据here改编的代码生成了伪缺席数据。但是,我现在发现我生成的数据点仅仅是空间样本。是否可以通过某种方式编辑此代码以进行临时采样,以使生成的csv具有每个点的日期/时间,以便可以将其与环境数据进行匹配?或者,是否可以尝试使用其他程序包来执行此操作?

function yts(s, callback) {
  youTube.search(s, 5, function(error, result) {
    var res;
    var json = [];
    if (error) {
      console.log(error);
      res.send("error");
    } else {
      res = result["items"];
      var i = 0;
      while (res[i]) {
        json.push({videoID: res[i]["id"]["videoId"], title: res[i]["snippet"]["title"]});
        i++;
      }
      callback(json);
    }
  });
}

app.get('/search/:title', function (req, res) {
  yts(req.params["title"], function (jsonRes){
    res.send(JSON.stringify(jsonRes));
  });
});

1 个答案:

答案 0 :(得分:0)

我通过简单地使用下面的代码生成随机时间并合并结果和上面的.csv来解决了这个问题。

#ADD TIMES 

time.start <- as.POSIXct('2014-12-01T01:00:00z', format = "%Y-%m-%dT%H:%M:%S")
time.end <- as.POSIXct('2015-04-30T01:00:00z', format = "%Y-%m-%dT%H:%M:%S")

seconds <- difftime(time.end, time.start, units = "secs")
# Option with runif()
v <- round(runif(6000, 0, seconds))

# Option with sample()
v <- sample(1:seconds, 6000, replace = T)

time.uniform <- time.start + v   

write.csv(time.uniform, "time.csv")

tag<-read.csv("pseudo-absence.csv")

time<- read.csv("time.csv")

myfulldata = merge(tag,time)

write.csv(myfulldata, "pseudo-absence_with_time.csv")