data.frame使用原始数据而不是过滤数据

时间:2015-08-20 14:12:37

标签: r dataframe dplyr

我遇到了这个问题我无法理解:

library(dplyr)

d<-data.frame(c1=c("a","a","b","b"),c2=c(1,1,3,4))

dFiltered <-  d %>%
  filter(c1 == "a") %>%
  select(c1)

> dFiltered
  c1
1  a
2  a

所以我想创建一个data.frame来根据过滤后的数据获得c1的频率

> data.frame(table(dFiltered))
  dFiltered Freq
1         a    2
2         b    0

我不明白为什么价值b也会出现,即使它显示0,我也不希望在这里找到它,因为如果我运行相同但从c2中选择一个值

> dFiltered <-  d %>%
   filter(c2 == "1") %>%
   select(c2)
> data.frame(table(dFiltered))

然后我得到了我的期望

  dFiltered Freq
1         1    2

我相信对此有合理的解释

0 个答案:

没有答案