Имея вектор кампании:R - Проверьте, если элемент из вектора существует в data.frame, а если нет, добавить фиктивные значения
campaignsTypes <- c("Social Media","Distribution","Nurture","Newsletter","Push")
и data.frame с информацией о них:
out <- structure(list(Type = c("Distribution", "Newsletter", "Nurture",
"Social Media"), Pageviews = c(42, 880, 17, 84)), .Names = c("Type",
"Pageviews"), row.names = c(NA, -4L), class = "data.frame")
Я хочу проверить, включены ли все элементы из вектора campaignsTypes
в data.frame out
, а если нет, создайте новую строку с фиктивными значениями для этой отсутствующей кампании. До сих пор я могу проверить, нет ли типа campaigngType. Тем не менее, у меня возникают проблемы в назначении не существующий элемент из вектора в качестве значения для первого столбца вручную вставленной новой строки:
> ifelse(campaignsTypes %in% out$Type == FALSE,rbind(out, c(????,0)),"")
How to put the value of the missing campaign here?----------⤴
Что вы ожидаемый выход? Вам нужны 'campaignTypes $ ind <- if (all (campaignTypes% in% out $ Type)) 1 else 0' – akrun
@akrun, ожидаемый вывод должен быть data.frame как' output <- structure (list (Type = («Распространение», «Информационный бюллетень», «Воспитание», «Социальные медиа», «Push»), Pageviews = c (42, 880, 17, 84,0)), .Names = c («Тип», Pageviews "), row.names = c (NA, -5L), class =" data.frame ")', где output $ Type должен включать все элементы vector 'campaignType'. Если тип был включен в результате того, что оператор campaignTypes% in% out $ Type == FALSE равен true, вывод $ Pageviews для этого наблюдения будет назначен с 0 – agustin
. Я отредактировал вопрос, чтобы удалить первое выражение ifelse , поскольку это создает путаницы :) – agustin