替换zooreg对象的元素

时间:2016-03-15 12:54:08

标签: r zoo

在计算股票价格时间序列的回报时,它会返回某些日期的Inf值。该系列有一个zooreg类,我试图用Inf替换那些NAs

为了重现性,假设我有以下对象:

a <- structure(c(1, 2, 3, 2, 4, Inf, Inf, 3, 4), .Dim = c(3L, 3L), .Dimnames = list(NULL, 
  c("a", "b", "c")), index = structure(c(5113, 5144, 5173), class = "Date"), 
  frequency = 1, class = c("zooreg", "zoo"))

我尝试了以下

a[[a=Inf]]<-NA

但它出错了:

  

[[a = Inf]]中的错误&lt; - NA:尝试选择多个元素

在这种情况下,我如何强制InfNA

1 个答案:

答案 0 :(得分:1)

试试这个:

a[] <- replace(coredata(a), !is.finite(a), NA)

,并提供:

> a
           a  b  c
1984-01-01 1  2 NA
1984-02-01 2  4  3
1984-03-01 3 NA  4