У меня проблемы с заполнением столбца в зависимости от условия. Может быть, мой подход не в правильном направлении. Я не знаю. Мои условия следующие:
- 2 "b" s и 1 "a" подряд, напишите в столбце "match" "B"
- 2 "c" s встроку, напишите в столбце "match" "C"
- для чего-либо еще, заполните NA
Пока я сделал следующее, но я вижу, что это не совсем точно, так как мой новыйвектор создается не из строк, а из всего столбца, и он по-прежнему не работает.
set.seed(123)
df_letters <- data.frame(basket1 = sample(letters[1:3], 5, replace = TRUE, prob = c(0.85,0.10,0.5)),
basket2 = sample(letters[1:3], 5, replace = TRUE, prob = c(0.10,0.85,0.5)),
basket3 = sample(letters[1:3], 5, replace = TRUE, prob=c(0.5,0.10,0.85)),
stringsAsFactors = FALSE)
df_letters %>% mutate(match = ifelse(sum(as.character(as.vector(df_letters)) == "c")==2, "C",
ifelse((sum(as.character(as.vector(df_letters)) == "b")==2) & (sum(as.character(as.vector(df_letters)) == "a")==1) ,"B", NA )))
Мой желаемый результат:
> df_letters
basket1 basket2 basket3 match
1 a b b B
2 c b c C
3 a c a <NA>
4 c b c C
5 b b c <NA>
Большое спасибо заранее!