【发布时间】:2021-04-02 18:31:39
【问题描述】:
我有一个包含 4352 个观测值和 21 列的数据框。第一列是日期向量,其他 20 列是数字向量(代表股票价格)。由于在某些日子(即周末和节假日)没有交易,因此某些观察结果在 2:21 列中有 NA。
以下代码显示了逻辑数据框,指示存在 NA,并且测试数据框与输入表具有相同的维度。
test <- is.na(prices[, 2:21]) %>% as.data.frame()
但是,当我执行以下操作时,结果是 48052 个观察值,带有额外的行名称,例如NA.40755 等
test <- prices[is.na(prices[, 2:21]) == 0, ]
但是当我在切片列时使用逗号而不是冒号时,似乎我有所需的输出(即 2970 个观察值):
test <- prices[is.na(prices[, 2, 21]) == 0, ]
因此我的问题是为什么我必须切片 [, 2, 21] 而不是 [, 2:21] ?
【问题讨论】: