使用向量中的相关位置来找到索引

问题描述 投票:0回答:1

我为研究中的每个参与者提供了一个向量,描述了他们的饮食时间。例如,参与者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天之间进食期的索引?

r indexing grep rstudio which
1个回答
0
投票

我会用这样的东西:

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".
© www.soinside.com 2019 - 2024. All rights reserved.