我有以下代码,其中包含全国医院的数据。我只想过滤德克萨斯州的医院,并将其放入名为 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") : 找不到对象"状态">