Tidyquant tq_get 和 tq​​_transmute:警告消息“从数据中删除了缺失值”

问题描述

我从下面的代码中收到以下错误消息:

In to_period(xx,period = on.opts[[period]],...) :
  missing values removed from data*

它适用于某些股票,但有些会收到与此相同的错误消息。我应该在 tq_transmute 之前使用 na.omit(N225) 吗?

N225 <- tq_get("^N225",from = "2016-01-01",to = "2020-12-31",get = "stock.prices")
    
N225_monthly_returns <- N225 %>%
      tq_transmute(select = adjusted,mutate_fun = periodReturn,period = "monthly",col_rename = "n225_returns")

解决方法

使用 na.omit 删除 NA 行并且不会给出任何警告。它还提供与不使用 na.omit 的输出相同的输出,因此我们不会丢失任何行。

library(tidyquant)

N225_monthly_returns1 <- N225 %>%
  tq_transmute(select = adjusted,mutate_fun = periodReturn,period = "monthly",col_rename = "n225_returns")

N225_monthly_returns2 <- na.omit(N225) %>%
  tq_transmute(select = adjusted,col_rename = "n225_returns")

identical(N225_monthly_returns1,N225_monthly_returns2)
#[1] TRUE