【发布时间】:2018-07-01 19:27:15
【问题描述】:
我是 r 的新手,我有一个非常接近下面的数据框,我很想找到一种通用方法,告诉我多少次加 1,每个国家/地区出现数字“0”(intro4)和ID。
Intro4 number id
221 TAN 0 19
222 TAN 0 73
223 TAN 0 73
224 TOG 0 37
225 TOG 0 58
226 UGA 0 96
227 UGA 0 112
228 UGA 0 96
229 ZAM 0 40
230 ZAM 0 99
231 ZAM 0 139
我可以手动完成,因为它是一个大数据框,并且需要很长时间,count() 给了我频率,但不会在不同国家之间划分频率。我找到了一种方法,但我必须为每个单独的县(intro4)选择和过滤,并将结果加 1。我想知道是否有更快的方法来解决它。我试过的代码是这样的:
projects <- finalr %>% select (Intro4,number,id)
projects1<-projects %>% filter (str_detect (number, "0"))
projects2<-projects1 %>%arrange (Intro4)
projects3<-sum(projects2$Intro4 == "TAN", na.rm = TRUE)
projects4<-sum(projects2$Intro4=="UGA",na.rm=TRUE)
如果有任何帮助,我将非常感激,谢谢:)
【问题讨论】:
-
table(projects2[projects2$number==0,c(1,3)])怎么样?