Циклический просмотр фреймов данных, сбор данных, создание новых фреймов данных

У меня есть приведенный ниже фрейм данных (на самом деле он охватывает пару сотен строк с одними и теми же данными).

project_number  hours  team_member    project_lead    team_member_email
      RR711-132     4   Isaac Bell    Dan Case          [email protected]
      RR711-135    10   Isaac Bell    Lawrence Cowan    [email protected]
     USU887-101    50   Keith Olsen   Aaron Anderson    [email protected]
      VE902-102    30   Chase Harmon  Isaac Bell        [email protected]
      SS99-133     50   Chase Harmon  Jack Spain        [email protected]

Цель состоит в том, чтобы отправить члену команды электронное письмо, которое включает в себя таблицу с подробностями о project_number, часах и лидере проекта.

Я использую RDCOMClient для отправки электронной почты и пакет «purrr» для перебора векторов.

mail_fun <- function(name, mail) {
  outMail = OutApp$CreateItem(0)
  ## configure  email parameter
  outMail[["To"]] = mail
  outMail[["subject"]] = "Project hours for next week"
  outMail[["HTMLBody"]] = paste0("Dear ", name, "<p>Testing sending hours through R</>")
  ## send it
  outMail$Send()
}

map2(test.df$team_member, test.df$email, ~mail_fun(name = .x, mail = .y)) 

Я знаю, что код нуждается в модификации, но цикл работает так же, как и отправка электронного письма. Я не могу понять, как создать таблицу (фрейм данных), специально предназначенную для team_member, и отправить ее по электронной почте.

Например, письмо будет отправлено Исааку Беллу, и в теле этого письма будет таблица, которая выглядит следующим образом (я не знаю, как сделать здесь красивую таблицу):

Isaac,

You have been assigned the following hours to the following project for this week:

Project Number     Hours       Project Lead
RR711-132           4           Dan Case
RR711-135           10          Lawrence Cowan

person isaacbell1234    schedule 04.12.2019    source источник


Ответы (1)


Ключевым моментом здесь является использование функции split(). Создайте фреймы данных в списке для каждого отдельного члена команды, а затем прокрутите эти фреймы данных и отправьте электронное письмо.

person isaacbell1234    schedule 13.12.2019