众多出席名单分析

Analysis of many attendance lists

我有来自 8 个不同会议的 8 个与会者名单。我需要知道哪些人协助了 8 场会议中的至少 7 场。我不想在每个列表中逐个检查名字,所以我打算使用 R 来做,但我对此一无所知。有什么建议吗?

可能是一种更简单的方法(我的 R 有点生疏了),但这很有效:

library(dplyr)
unique_attendees <- c('a', 'b', 'c', 'd', 'e')

conf1_attendees <- c('a','b')
conf2_attendees <- c('a','b','c')
conf3_attendees <- c('a','b','c','e')
conf4_attendees <- c('b', 'e')
conf5_attendees <- c('a','d', 'e')
conf6_attendees <- c('a','d', 'e')
conf7_attendees <- c('a','b', 'e')
conf8_attendees <- c('a','b', 'c')

conferences <- list(conf1_attendees, conf2_attendees, conf3_attendees, conf4_attendees, conf5_attendees, conf6_attendees, conf7_attendees,conf8_attendees)

attendance_record <- dplyr::bind_rows(lapply(unique_attendees, function(x){
  cat(c('Working with: ', x, '\n'))
  attendance <- lapply(conferences, function(y){
    attended <- grepl(x, y)
    return(attended)
  })
  number_attended = length(which(unlist(attendance) == TRUE))
  result <- data.frame(person=x, number_attended=number_attended)
}))

result <- attendance_record %>% 
  mutate(attended_at_least_7 = data.table::fifelse(number_attended >= 7, TRUE, FALSE))

print(result)

输出:

  person number_attended attended_at_least_7
1      a               7                TRUE
2      b               6               FALSE
3      c               3               FALSE
4      d               2               FALSE
5      e               5               FALSE

显然您需要根据您的问题调整它,因为我们不知道您的记录是如何存储的。