R码中NaN到零的转换

R码中NaN到零的转换,r,sum,nan,R,Sum,Nan,这是我的R代码的一部分: for (i in 1:n) { ... Smw[i]<-(mw[i]-Emw[i])/(Vmw[i]^(0.5) ... } 我想继续讨论这个问题 ooc=Cplus>5 lenOOC = sum(ooc) lenOOC 我无法获取总和(ooc),因为我的数据中存在NaN。如何将NaN转换为零?我的Smw数据可能包含负值,因此max()不合适。使用is.na函数对向量进行索引,用一个基本的R一行来修复这一点非常简单 Smw[is.na(Sm

这是我的R代码的一部分:

for (i in 1:n) {

...

Smw[i]<-(mw[i]-Emw[i])/(Vmw[i]^(0.5)

...

}
我想继续讨论这个问题

ooc=Cplus>5

lenOOC = sum(ooc)

lenOOC

我无法获取
总和(ooc)
,因为我的数据中存在NaN。如何将NaN转换为零?我的Smw数据可能包含负值,因此
max()
不合适。

使用
is.na
函数对向量进行索引,用一个基本的R一行来修复这一点非常简单

Smw[is.na(Smw)] <- 0
例如:

> x <- c(2, 8, NaN)
> sum(x)
NaN
> sum(x, na.rm = T)
10
> x
  2   8 NaN
>x和(x)
楠
>总和(x,na.rm=T)
10
>x
28南

使用
is.na
函数对向量进行索引,这非常简单,可以用一个基本R一行来修复

Smw[is.na(Smw)] <- 0
例如:

> x <- c(2, 8, NaN)
> sum(x)
NaN
> sum(x, na.rm = T)
10
> x
  2   8 NaN
>x和(x)
楠
>总和(x,na.rm=T)
10
>x
28南
Smw[is.nan(Smw)]
Smw[is.nan(Smw)]