Здравствуйте, у меня есть интересная проблема с R
Когда я делаю:
touchtimepairs = structure(list(v..length.v.. = structure(c(1543323677.254, 1543323678.137, 1543323679.181, 1543323679.918, 1543323680.729, 1543323681.803, 1543323682.523, 1543323682.977,1543323683.519, 1543323684.454), class = c("POSIXct", "POSIXt"), tzone = "CEST"),v.2.length.v.. = structure(c(1543323678.137, 1543323679.181, 1543323679.918, 1543323680.729, 1543323681.803, 1543323682.523, 1543323682.977, 1543323683.519, 1543323684.454, 1543323690.793), class = c("POSIXct", "POSIXt"), tzone = "CEST")), .Names = c("v..length.v..", "v.2.length.v.."), row.names = c(NA, 10L), class = "data.frame")
data = data.frame(a = seq(1,10), b = seq(21,30), posixtime = touchtimepairs[,1])
for(x in seq(nrow(touchtimepairs))){
a = data$[data$posixtime < touchtimepairs[x,2],]
}
, это работает без проблем, я получаю результаты обратно, но когда я пытаюсь использовать apply
a = apply(touchtimepairs, 1,
function(x) data[data$posixtime < x[2],])
это больше не работает, я получаю пустой фрейм данных.То же самое происходит с командой subset ().Интересно, что когда я делаю> вместо <это работает! </p>
a = apply(touchtimepairs, 1,
function(x) data[data$posixtime > x[2],])
Тогда возникает другая проблема:
Применение в случае> сравнения дает другой результат, чем цикл for
1951 строк с apply и 1897 с циклом for
Кто-нибудь может воспроизвести это поведение?
Время posix также имеет миллисекунды, если это представляет интерес
Большое спасибо