У меня есть этот фрейм данных:
df <- data.frame(group=rep(1:3,each=3),
question=c("1.1.1. question 1","1.1.1.1. question1 with conditional","2.2.2.2. question2 with condtional", "2.2.2. question2","1.1.1.10. question 1 with conditional","3.3.3. question 3","3.3.3.2. question 3 with conditional","2.2.2.1. question 2 with conditional","3.3.3. Descirbe section 2.8"),
answer=c("yes","no","text","no","text","hello","yes","text","yes"),
parent_question=c("1.1.1. question 1","1.1.1. question 1","2.2.2. question2","2.2.2. question2","1.1.1. question 1","3.3.3. question 3","3.3.3. question 3","2.2.2. question2","3.3.3. Descirbe section 2.8"),
answer_parent=c("yes","yes","","","","","yes","","yes"))
Что я хочу сделать, это создать два новых столбца, называемых parent_question и parent_answer.
Итак, parent_question для 1.1.1. это 1.1.1. и родительский вопрос к 1.1.1.1. это 1.1.1. Я знаю, как это сделать, создав словарь parent_question и затем объединив его с этим набором данных. И parent_answer 1.1.1.1. является ответом на parent_question 1.1.1. Есть ли простой способ сделать это, не создавая отдельную таблицу для родительских вопросов и родительских ответов, а затем объединяя их с данными?