我为研究中的每个参与者提供了一个向量,描述了他们的饮食时间。例如,参与者1和2分别具有
> eating.period.1
[1] "Day 1 (1/18/15)" " Breakfast" " Morning Snack" " Lunch" " Afternoon Snack"
[6] " Dinner" " Evening Snack" "Day 2 (1/19/15)" " Breakfast" " Morning Snack"
[11] " Lunch" " Afternoon Snack" " Dinner" " Evening Snack" "Day 3 (1/20/15)"
[16] " Breakfast" " Morning Snack" " Lunch" " Afternoon Snack" " Dinner"
[21] " Evening Snack" "Average"
> eating.period.2
[1] "Day 1 (9/16/15)" " Breakfast" " Morning Snack" " Lunch" " Afternoon Snack"
[6] " Dinner" " Evening Snack" "Day 2 (9/17/15)" " Breakfast" " Lunch"
[11] " Afternoon Snack" " Dinner" " Evening Snack" "Day 3 (9/21/15)" " Breakfast"
[16] " Lunch" " Dinner" " Evening Snack" "Average"
如何获得第X到X + 1天之间进食期的索引?
我会用这样的东西:
find_index <- function(eating_period,
day1 = "9/16/15",
day2 = "9/17/15"){
is <- which(grepl(pattern = day1, eating_period))
ie <- which(grepl(pattern = day2, eating_period))
(is+1):(ie-1)
}
eating.period.2 <- c("Day 1 (9/16/15)",
" Breakfast",
" Morning Snack",
" Lunch",
"Afternoon Snack",
"Day 2 (9/17/15)")
find_index(eating.period.2)
输出:
# 2 3 4 5
此
eating.period.2[find_index(eating.period.2,
day1 = "9/16/15",
day2 = "9/17/15")]
返回
[1] " Breakfast" " Morning Snack" " Lunch"
[4] "Afternoon Snack".