Существует два вектора x и y. Если x содержит NA
, я хочу заменить NA
на значение от «y» с соответствующим индексом. Вот пример кода, который работает:Применить функцию к двум векторам путь «R»?
x <- c(1,2,3,NA,5)
y <- c(6,7,8,9,10)
combineVector <- function(x,y)
{
for (i in 1:length(x)){
if (is.na(x[i]) && !is.na(y[i])){
x[i] = y[i]
}
}
return (x)
}
combineVector(x,y)
# [1] 1 2 3 9 5
Я мог бы написать это практически на любом языке программирования. Есть ли способ «R» выполнить эту задачу?
в этом примере 'рмин (х, у, na.rm = TRUE)' также будет работать – rawr
Хотя это будет работать в этом примере, код в принципе не выполняет то, что запросил OP, и потерпит неудачу, если какой-либо элемент y меньше его соответствующего элемента x. Поскольку это часто случается в различных случаях использования, вы не должны предлагать это в качестве решения. – jrdnmdhl