我正在使用adehabitatLT R包来分析通过附在动物身上的卫星发射器获得的动物移动位置。数据集包括IdNumber,日期,时间,纬度,长度和其他辅助信息。当我按IdNumber和日期/时间对数据进行排序并手动检查结果时,我找不到任何重复的元素。在R我读取我的csv文件,并使用as.data.frame创建一个数据帧,并使用命令duplicates()我发现没有重复,无论我是在整个数据帧或日期/时间列/ s上运行命令,但在使用时as.POSIXct()命令我找到41个重复元素。我的步骤是:
required(adehabitatLT) #works fine
data<-read.csv("data....) #works fine
data<-as.data.frame(data) #works fine
duplicated(data) # works fine, no duplicates
duplicated(data$Date) #works fine, it finds duplicate dates as expected
duplicated(data$Time) #works fine, it finds duplicate times as expected
da <- as.POSIXct(strptime(paste(data$Date, data$Time), "%y%m%d %H:%M:%S"), tz="GMT") #works fine
sum(duplicated(da)) #returns 41 duplicate elements
trj<-as.ltraj(xy = data[,c("XD","YD")], date = da, id = data$IdNumber, typeII = TRUE)
Error in as.ltraj(xy = satdat[, c("XD", "YD")], date = da, id = satdat$IdNumber, :
non unique dates for a given burst
我期望错误消息给出da中存在重复元素的事实(2个或更多不同的IdNumber对于相同/不同的位置可以具有相同的日期/时间),但我猜想当da元素关联到IdNumber和纬度和长坐标,所有行应该是唯一的(对于手动检查的数据,我100%确定没有重复)。
我错过了什么,做错了什么?
P.S。:对于typeI轨迹,命令as.jtraj当然很好
UPDATE1:
这是我的数据帧的结构,名为&#34; satdat&#34;
PPT Date Time DT XD YD XUTM YUTM
1 87776 150314 17:46:24 150314 17.46.24 35.57666 12.33740 780225.6 1365210
2 87776 150314 19:22:29 150314 19.22.29 35.58675 12.34696 781313.4 1366279
3 87776 150314 20:14:00 150314 20.14.00 35.60735 12.34675 783555.3 1366277
4 87776 150314 21:06:28 150314 21.06.28 35.60846 12.35585 783666.3 1367286
5 87776 150314 21:57:37 150314 21.57.37 35.61608 12.36045 784490.5 1367803
6 87776 150315 02:04:36 150315 02.04.36 35.54072 12.41002 776238.2 1373210
sum(duplicated(satdat)) #check for duplicate
[1] 0
da <- as.POSIXct(strptime(paste(satdat$Date, satdat$Time), "%y%m%d %H:%M:%S"), tz="GMT") #create successfully my POSIXct element
head(da)
[1] "2015-03-14 17:46:24 GMT" "2015-03-14 19:22:29 GMT" "2015-03-14 20:14:00 GMT" "2015-03-14 21:06:28 GMT" "2015-03-14 21:57:37 GMT"
[6] "2015-03-15 02:04:36 GMT"
sum(duplicated(da)) #check for duplicates; i expect duplicates
[1] 44
duplicated(da) #which are duplicated? apparently the element number 14
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
satdat[14,]
PPT Date Time DT XD YD XUTM YUTM
14 87776 150315 16:17:17 150315 16.17.17 35.58955 12.41916 781540.6 1374273
很奇怪,手动检查没有其他具有相同值的行。