Is there a function for counting the number of times a particular keyword is contained in a dataset?
For example, if dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
the count would be 3.
You can use the str_count function from the stringr package to get the number of keywords that match a given character vector. The pattern argument of the str_count function accepts a regular expression that can be used to specify the keyword.
COUNTIF Function in R, As we know if we want to count the length of the vector we can make use of the length function. In case you want to count only the number of rows or columns that meet some criteria, Yes we can do it easily.
count() lets you quickly count the unique values of one or more variables: df %>% count(a, b) is roughly equivalent to df %>% group_by(a, b) %>% summarise(n = n()) .
Let's for the moment assume you wanted the number of element containing "corn":
length(grep("corn", dataset)) [1] 3
After you get the basics of R down better you may want to look at the "tm" package.
EDIT: I realize that this time around you wanted any-"corn" but in the future you might want to get word-"corn". Over on r-help Bill Dunlap pointed out a more compact grep pattern for gathering whole words:
grep("\\<corn\\>", dataset)
Another quite convenient and intuitive way to do it is to use the str_count
function of the stringr
package:
library(stringr) dataset <- c("corn", "cornmeal", "corn on the cob", "meal") # for mere occurences of the pattern: str_count(dataset, "corn") # [1] 1 1 1 0 # for occurences of the word alone: str_count(dataset, "\\bcorn\\b") # [1] 1 0 1 0 # summing it up sum(str_count(dataset, "corn")) # [1] 3
You can also do something like the following:
length(dataset[which(dataset=="corn")])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With