У меня большой набор данных, и я пытаюсь создать новый столбец, который включает либо переменную 1, либо переменную 2 на основе другого сценария ios. Я уже преобразовал различные сценарии ios в группы (от 1 до 4 в столбце «Сценарий»).
Где переменные 1 и 2 заполняются значением для определенного образца c. Мне нужна переменная 1 для имеют приоритет над переменной 2 в столбце New_Var (это сценарий 1). Если переменная 1 имеет значение, а переменная 2 имеет значение NA для указанного c образца, мне нужно заполнить образец в столбце New_Var значением переменной 1 (это сценарий 2). Где переменная 1 - это NA, а переменная 2 - это значение для определенного c образца. Мне нужна переменная 2 для заполнения столбца New_Var (это сценарий 3). Если обе переменные 1 и 2 являются NA, мне нужен результат NA, указанный в столбце New_Var.
Мне уже удалось изменить новый столбец с помощью dplyr для каждого сценария, но я не знаю, как сгенерировать столбец New_Var для желаемого результата ниже.
Sample <- c('ID1','ID2','ID3','ID4','ID5','ID6','ID7','ID8','ID9','ID10','ID11')
Var1 <- c(1,1,1,1.5,2.1,4,NA,NA,NA,NA,NA)
Var2 <- c(3,5,1,NA,NA,NA,1.6,1.4,2,NA,NA)
Scenario <- c(1,1,1,2,2,2,3,3,3,4,4)
New_Var <- c(1,1,1,1.5,2.1,4,1.6,1.4,2,0,0)
df <- data.frame(Sample,Var1,Var2,Scenario,New_Var)
df
Sample Var1 Var2 Scenario New_Var
1 ID1 1.0 3.0 1 1.0
2 ID2 1.0 5.0 1 1.0
3 ID3 1.0 1.0 1 1.0
4 ID4 1.5 NA 2 1.5
5 ID5 2.1 NA 2 2.1
6 ID6 4.0 NA 2 4.0
7 ID7 NA 1.6 3 1.6
8 ID8 NA 1.4 3 1.4
9 ID9 NA 2.0 3 2.0
10 ID10 NA NA 4 NA
11 ID11 NA NA 4 NA