R:产生NaNs

Mic*_*l B 2 r time-series

我在R Studio中有一个时间序列.现在我想计算这个系列的log().我尝试了以下方法:

i <- (x-y) 
ii <- log(i)
Run Code Online (Sandbox Code Playgroud)

但后来我得到以下内容:Warning message: In log(i): NaNs produced 为了检查这个我用过:table(is.nan(ii))它给了我以下输出:

FALSE  TRUE 
 2480     1 
Run Code Online (Sandbox Code Playgroud)

所以我假设,现在我的时间序列中有1个NaN.我的问题是:我可以使用什么代码,R告诉我哪个观察到了NaN的产生?这是一个小数据样本:i <- c(9,8,4,5,7,1,6,-1,8,4) 顺便说一下如何在stackoverflow中键入数学公式,例如log(x)?非常感谢

Cat*_*ath 7

正如我在评论中所说,要知道哪个观察产生了NaN,你可以使用函数which:

i <- c(9,8,4,5,7,1,6,-1,8,4)
which(is.nan(log(i))) # 8
Run Code Online (Sandbox Code Playgroud)