, , - , - .
data.frame(table(grep("[A-Z]{1}[a-z]+",stack(df1)[,1],value=TRUE)))
Var1 Freq
1 Apis 4
2 Halictidae 2
3 Syrphidae 3
df1<-
structure(list(ID = 1:10, Visit_Freq = c(1, 5, 1, 0, 0, 0, 0,
2, 0, 0), Visitor_1 = c("Halictidae", "Syrphidae", "Apis", "<NA>",
"<NA>", "<NA>", "<NA>", "Apis", "<NA>", "<NA>"), Visitor_2 = c("<NA>",
"Halictidae", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "Apis",
"<NA>", "<NA>"), Visitor_3 = c("<NA>", "Syrphidae", "<NA>", "<NA>",
"<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>"), Visitor_4 = c("<NA>",
"Syrphidae", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>",
"<NA>", "<NA>"), Visitor_5 = c("<NA>", "Apis", "<NA>", "<NA>",
"<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>")), .Names = c("ID",
"Visit_Freq", "Visitor_1", "Visitor_2", "Visitor_3", "Visitor_4",
"Visitor_5"), row.names = c(NA, -10L), class = "data.frame")