我运行了下面的代码,并得到了正确的输出。该代码计算myData
数据框中Element列中"A"出现的次数:
Element counted
1 A 4
以上输出的代码:
library(dplyr)
myData = data.frame(Element = c("A","A","C","A","B","B","A"),Class = c(0,0,0,0,1,1,2))
myData %>%
filter(Element == 'A') %>%
count(Element, name = 'counted')
然而,我希望更改代码,使其在针对不存在的元素运行时返回计数为0的数据框。我需要这个功能用于一系列 ifelse(...)
语句,这些语句会查看myData
数据框。因此,当针对不存在的元素 D 运行此代码时:
myData %>%
filter(Element == 'D') %>%
count(Element, name = 'counted')
我想回到:
Element counted
1 D 0
与当前代码生成的内容不同:
[1] Element counted
<0 rows> (or 0-length row.names)
在完整的代码中,D是未知的,属于元素A-C之外。我想对于任何在A-C之外的元素返回0。我希望在因子水平中不包括元素“D”来实现这一点。有没有一种简便的方法在dplyr中实现这个目标?