Для каждого предмета, одно наблюдение (или строка) удерживается на основе следующих:выберите наблюдения, основанные на нескольких условиях
, если var2=c and var3=B
затем сохранить это наблюдение. если нет, проверьте if var2=c and var3=S
и соблюдайте это наблюдение. если нет, то проверьте, если var2=L and var3=B
, , наконец, проверьте var2=L and var3=S
, если не ставить 0.
Любая помощь будет оценена.
Мои данные выглядит следующим образом:
id var1 var2 var3
1 100 L S
1 100 L B
1 2 C B
1 2 C S
2 5 C S
2 10 L S
2 NA L B
2 NA C B
Мой желаемый результат:
id var1 var2 var3
1 2 C B
2 5 C S
Я не понимаю ... Можете ли вы объяснить условия лучше, пожалуйста? – Sotos
http://stackoverflow.com/help/mcve –
Первый блок кода - где вы показываете присвоение значений - не имеет смысла. Например, «var2 = c и var3 = B, если нет». Что значит «если не тогда»? Что тестируется здесь? Вы имеете в виду «' if (var3 == "B") {var2 <- "c"} '", и если это не так, то ваш следующий оператор и т. Д.? –