надеюсь, это не слишком глупый вопрос, но, будучи новичком в R, у меня возникла серьезная проблема с tapply. Скажем
factors <- as.factor( c("a", "b", "c", "a", "b", "c", "a", "b", "c") )
values <- c( 1, 2, 3, 4, 5, NA, 7, NA, NA )
tapply(
values,
factors,
function(x){
if( sum(is.na(x)) == 1 ){
x[ is.na(x) ] <- 0
}
return(x)
}
)
Результат
$a
[1] 1 4 7
$b
[1] 2 5 0
$c
[1] 3 NA NA
Тем не менее, мне нужно вернуть вектор, который сохраняет исходный порядок значений, т.е.
c( 1,2,3,4,5,NA,7,0,NA )
Большое спасибо заранее.