В настоящее время у меня есть массив из списка (GroupA), как в следующем примере:Как создать несколько правил для функции «lapply»
$AAAAAA
time timegap
1 06:00:00 0
2 07:00:00 60
3 08:00:00 40
4 09:00:00 0
5 10:00:00 30
$BBBBBBB
time timegap
1 06:00:00 0
2 07:00:00 60
3 08:00:00 40
4 09:00:00 0
5 10:00:00 30
Я пытаюсь создать функцию, которая генерирует фиктивную переменную, если timegap больше определенного числа. Но проблема в том, что число для создания фиктивной переменной будет отличаться от других, если время в диапазоне от 07:00:00 до 09:00:00.
Что я сделал следующим образом:
dummytime<-function(x){
if(x$time>times("07:00:00") & x$time<times("09:00:00")){
d<-c(1200)
}
else{
d<-c(600)
}
dummytime<- as.numeric(x$timegap>=d)
as.data.frame(dummytime)
}
dumtime<-lapply(groupm2,dummytime)
Однако, я получил сообщение об ошибке, как это:
Error in if (as.logical(x$time > times("07:00:00") & x$time < times("09:00:00")))
{ : missing value where TRUE/FALSE needed
Любое предложение? Благодарим за помощь заранее.
Лучше упомянуть пакет, который имеет 'times' функция – akrun
@akrun, спасибо за уведомления. пакет, который включает функцию времени, фактически является «chron». Это пакет для даты и времени. – SmithWang