Я хочу создать новую переменную, в которой, если переменная $ Who.went.first содержится в переменной $ Who.should.go.first, она вернет TRUE для новой переменной, иначе она вернет FALSE. $ Who.should.go.first и $ Who.went.first, оба имеют одинаковый набор имен машин в качестве входных данных, за исключением того, что все входные данные $ Who.should.go.first имеют текст "(Aspect)" в конце, поэтому я хочу, чтобы функция проверяла, что $ Who.went.first содержится в $ Who.went.first, а не ищет точные совпадения.
Я пытаюсь сделать это, используя функцию ifelse и% в%, как показано ниже.
Cooperation_2clean$correct.go.first <- ifelse((Cooperation_2clean$Who.went.first %in% Cooperation_2clean$Who.should.go.first), "TRUE", "FALSE")
Это создаст новую переменную, за исключением того, что каждый случай возвращает FALSE. Например, если $ Who.went.first равен «AV_0_Blue», а $ Who.should.go.first равен «AV_0_Blue (Aspect)», тогда он возвращает FALSE, когда он должен быть истинным.
Должен ли я использовать другую функцию, например case_when?
EDIT:
Некоторые примеры данных:
Cooperation_2clean <- data.frame("Who.should.go.first" = c("AV_0_Blue (Aspect)", "Human_2_BlueCW (Aspect)", "AV_0_Blue (Aspect)", "AV_2_Green (Aspect)", "AV_3_Orange (Aspect)"), "Who.went.first" = c("AV_0_Blue", "AV_3_Orange", "AV_0_Blue", "AV_2_Green", "AV_2_Green"))