高效替换 xts 对象中的 nan/na 值

Efficient replace of nan/na values in xts object

我有一个包含 20k 列的对象。我想替换所有出现的 NaNNA,并用 0 表示特定值。我该怎么做:

数据子集:

           AAC-200004 AACB-200708 AACE-200610   BVX BWL.A BZC   BZM CAK  CANF   CAW CCA CCF   CEF CET CEV   CFD CFP  CH CIK
2015-04-09         NA          NA          NA 0.000 0.000   0 0.000   0 0.333 0.333   0   0 0.333   0   0 0.000   0   0   0
2015-04-10         NA          NA          NA   NaN   NaN NaN   NaN NaN   NaN   NaN NaN NaN   NaN NaN NaN   NaN NaN NaN NaN
2015-04-13         NA          NA          NA 0.000 0.000   0 0.333   0 0.333 0.000   0   0 0.000   0   0 0.333   0   0   0
2015-04-14         NA          NA          NA   NaN   NaN NaN   NaN NaN   NaN   NaN NaN NaN   NaN NaN NaN   NaN NaN NaN NaN
2015-04-15         NA          NA          NA 0.333 0.333   0 0.000   0 0.333 0.000   0   0 0.000   0   0 0.000   0   0   0
2015-04-16         NA          NA          NA   NaN   NaN NaN   NaN NaN   NaN   NaN NaN NaN   NaN NaN NaN   NaN NaN NaN NaN

zoo 有一个 na.fill 函数,我可以使用它。我想我也会问这个,不知道是否有更快的方法。

谢谢

你可以试试:

coredata(sample.xts)[is.na(sample.xts) | is.nan(sample.xts)] <- 0