По сути, у меня есть продольный набор данных, и это включает в себя 8 волн сбора данных.Итак, у меня есть 8 возрастных переменных age_1:age_8
, и если участник входит в волну 1, его возраст записывается в age_1
, в противном случае его значение устанавливается как NA.Точно так же, если участники вошли в исследование на волне 2, их возраст записывается в age_2
и также записывается возраст наблюдения участников, которые вошли в предыдущую волну (волна 1), но если участник входит впоследующие волны (не волна 1 или 2) их возраст указан как NA.Поэтому я надеюсь, что это несколько прояснит, из чего состоят данные.То, что я хочу сделать, - это создать переменную, в которой будет записан только возраст, который человек ввел в исследование.
То, что я пытался сделать, - это что-то вроде этого (я знаю, это ужасно), это просто высказывания, например, в entry_2
, если age_2
(волна 2) - это NA и age_1
не NA, тогда запись записывается как NA, но в противном случае она принимает значение, записанное для возраста на волне 2, в качестве записи.Поэтому я пытаюсь просто взять возраст людей, которые вошли в эту конкретную волну, и исключить любые последующие возрасты из предыдущих волн, которые могли быть записаны.Но это не работает, так как он просто копирует переменную возраста, как показано в примере ниже.
data$entry_2 <- ifelse(is.na(data$age_2) & !is.na(data$age_1), NA, data$age_2)
data$entry_3 <- ifelse(is.na(data$age_3) & !is.na(data$age_1) & !is.na(data$age_2), NA, data$age_3)```
Output:
summary(data$entry_2)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
12.00 58.00 69.00 64.64 72.00 102.00 9076
summary(data$age_2)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
12.00 58.00 69.00 64.64 72.00 102.00 9076