Это очень просто исправить с помощью линейного вкладыша R, используя функцию is.na
для индексации вектора
Smw[is.na(Smw)] <- 0
Это сделает вашу работу суммирования. Тем не менее, может быть более целесообразным сохранить ваш NaN
, так как это может быть полезно позже. Возможно, поэтому лучше использовать na.rm
внутри функции sum
, чтобы вы необратимо не изменяли информацию.
sum(Smw, na.rm = TRUE)
Например:
> x <- c(2, 8, NaN)
> sum(x)
NaN
> sum(x, na.rm = T)
10
> x
2 8 NaN