在 R 中处理 NA 和 NAN

Handling NA and NAN in R

我正在尝试 运行 对以下代码的 100,000 个实例进行简单模拟。当尝试获取 dlogP 的 sd 和平均值时,我收到 sd(dlogP):NA 和 mean(dlogP): NaN。我相信我应该得到类似于 5% 的原始 rnorm 的 sd 偏差有人可以帮助我解决我做错的事情吗?我试图调整似乎有效的迭代次数,但我需要生成 100,000 个实例。提前致谢。

set.seed(2013)
P_1 <- 100               # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances
P <- P_1*cumprod(1+r)        
set.seed(2013)
logP<- log(P)
dlogP <-log1p(P)-logP    # The change in logs from t+1 and t
dlogP 
head(dlogP,1)            # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)
plot(P)

如果你坚持每天 1% return,你可以在对数刻度上做到这一点,而无需触及 Inf

set.seed(2013)
P_1 <- 100               # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances 
logP <- log(P_1) + cumsum(log(1+r))
dlogP <-diff(logP)    # The change in logs from t+1 and t
#dlogP 
head(dlogP,1)            # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)