例如 :
currency <- grepl ("currencry" , strsplit("euro currency is a convertible currency"," "), ignore.case=TRUE)
但它只返回 TRUE 我如何使用这个 grepl 函数计算这个词在这个句子中出现了多少次?
抱歉,我是初学者。提前致谢
例如 :
currency <- grepl ("currencry" , strsplit("euro currency is a convertible currency"," "), ignore.case=TRUE)
但它只返回 TRUE 我如何使用这个 grepl 函数计算这个词在这个句子中出现了多少次?
抱歉,我是初学者。提前致谢
这里不需要使用regular expression
:
sum(scan(text="euro currency is a convertible currency",
what="character") == "currency")
## 2
如果您想忽略大小写-)
sum(scan(text=tolower("euro curreNcy is a convertible currencY"),
what="character") == "currency")
strsplit
返回一个列表(以便您可以输入字符向量)。您需要先“取消列出”它:
currency <- grepl ("currency" , unlist(strsplit("euro currency is a convertible currency"," ")), ignore.case=TRUE)
currency
[1] FALSE TRUE FALSE FALSE FALSE TRUE
sum(currency)
[1] 2
我会使用gregexpr
如下:
lapply(gregexpr("currency",
"euro currency is a convertible currency",
ignore.case=TRUE),
length)
# [[1]]
# [1] 2
(我会确保您正确拼写搜索模式)。
你也可以使用table
> s <- strsplit("euro currency is a convertible currency", " ")[[1]]
> tab <-table(s)
> tab["currency"]
# currency
# 2
这很好,因为您需要存储所有单词的表。您可以查找任何单词,tab["word"]
例如
> tab["convertible"]
# convertible
# 1
你可以使用这个qdap
包:
library(qdap)
termco("euro currency is a convertible currency",, "currency")
## all word.count currency
## 1 all 6 2(33.33%)