1

我想为重复测量进行逻辑回归R。我想检查抑郁症和非抑郁症孩子一天中最后一餐的时间是否不同。我记录了所有科目(dep/non-dep)的 14 天进餐时间。我唯一遇到的麻烦是将这些时间变量转换为适当的形式来进行我们的分析。将它们转换为十进制数(例如 15.5)似乎不是一个好主意。请帮忙!

id  depressed mealtime     
B8         1 17:30:00       
B8         1 17:00:00      
B8         1 12:30:00      
B8         1     <NA>         
B8         1 19:45:00       
B8         1 19:30:00       
A1         0 19:30:00       
A1         0 18:45:00      
A1         0 19:30:00      
A1         0 18:30:00       
A1         0 20:30:00   
4

1 回答 1

1

为什么不将用餐时间变量转换为具有参考点的差异时间?例如使用strptime强制你的字符串POSIXltdifftime你可以做类似的事情:

dat$mealtime <- strptime(dat$mealtime,'%H:%M:%S')
dat$difference <- difftime(dat$mealtime,time2=strptime('00:00:00','%H:%M:%S'))

现在,您可以将新创建​​的变量用于回归,(我假设您glm使用 logit)

fit <- glm(depressed ~ difference,data=dat, family=binomial("logit"))

PS:这里的数据是:

dat <- read.table(text='id  depressed mealtime     
B8         1 17:30:00       
B8         1 17:00:00      
B8         1 12:30:00      
B8         1     <NA>         
B8         1 19:45:00       
B8         1 19:30:00       
A1         0 19:30:00       
A1         0 18:45:00      
A1         0 19:30:00      
A1         0 18:30:00       
A1         0 20:30:00',header=TRUE)
于 2013-03-16T08:37:58.303 回答