在计算股票价格时间序列的回报时,它会返回某些日期的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:尝试选择多个元素
在这种情况下,我如何强制Inf
到NA
?
答案 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