У меня есть кадр данных в R, который имеет значения x и y.В x есть значения NA, которые я хотел бы заполнить конкретными строками, зависящими от значений y.
Пример кадра данных:
df1 = data.frame(x = c("Canada", "United States", NA, NA, NA),
y = c("CAN", "USA", "TWN", "TWN", "ARG"))
Ожидаемый результат:
df2 = data.frame(x = c("Canada", "United States", "Taiwan", "Taiwan", NA),
y = c("CAN", "USA", "TWN", "TWN", "ARG"))
Я пробовал
df2 <- df1 %>% transform(df1, x = ifelse(y == "TWN", "Taiwan", x))
, но при этом удаляются все значения x и y для всех других наблюдений, не содержащих "TWN".Большинство других примеров, которые я нашел здесь, заменяют все значения NA, и я не могу понять, как это сделать условно для строк в другом столбце.Это нужно будет делать с очень большими кадрами данных, чтобы эффективность была идеальной.