为什么 dbpylr 中的过滤功能将数据帧转换为值列表并在 R 中将所有值更改为 NA?



我有以下代码,其中包含全国医院的数据。我只想过滤德克萨斯州的医院,并将其放入名为 data 的新数据帧中。

outcome <- read.csv("outcome-of-care-measures.csv")
data <- outcome %>% filter(outcome$State == "TX")

看起来很简单?出于某种原因,当我运行这段代码时。"data"对象不是数据框,而是变成值并填充 NA 值。这是怎么回事?我已经多次使用过滤器选项。

编辑:此文件中有NA。有 40+ 列。该值是"时间序列"。

OP 可能没有加载dplyr

library(dplyr)
outcome %>%
filter(State == "TX")

应该工作

如果我们没有dplyr,使用filter可能来自stats,行为与dplyr::filter

outcome %>%
stats::filter(outcome$State == "AL")
#Time Series:
#Start = 1 
#End = 20 
#Frequency = 1 
#   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] #[,16] [,17] [,18] [,19] [,20]
# 1   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
# 2   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
# 3   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
# ..

注意:在这里,OP 使用的是outcome$,否则它将引发错误

outcome %>%
stats::filter(State == "AL")

统计中的错误::filter(., 状态 == "AL") : 找不到对象"状态">

最新更新