带有 grep 函数的 R 循环
R loop for with grep function
以下代码不起作用:
我想遍历一个单词列表(数组 mdf),并找出该列表(mdf)中每个单词在另一个单词列表(数组 mydf)中出现的次数。
感谢您的反馈!
for (x in mdf)
{ print
( length(grep('x',mydf)))
}
您可以尝试类似的方法:
colSums(sapply(mdf, grepl, mydf))
这是一个演示:
colSums(sapply(c("a", "b", "c"), grepl, c("a", "a", "b")))
a b c
2 1 0
也就是说a、b和c在另一个数组中出现了2次、1次和0次。
首先,删除 x
.
两边的引号
并且,试试这个精确匹配;
for (x in mdf) {
tempx=paste("\b",x,"\b", sep="")
temp=paste(c(x,length(grep(tempx,mydf))))
print(temp)}
如果不需要精确匹配;
for (x in mdf) {
temp=paste(c(x,length(grep(x,mydf))))
print(temp)}
以下代码不起作用:
我想遍历一个单词列表(数组 mdf),并找出该列表(mdf)中每个单词在另一个单词列表(数组 mydf)中出现的次数。 感谢您的反馈!
for (x in mdf)
{ print
( length(grep('x',mydf)))
}
您可以尝试类似的方法:
colSums(sapply(mdf, grepl, mydf))
这是一个演示:
colSums(sapply(c("a", "b", "c"), grepl, c("a", "a", "b")))
a b c
2 1 0
也就是说a、b和c在另一个数组中出现了2次、1次和0次。
首先,删除 x
.
并且,试试这个精确匹配;
for (x in mdf) {
tempx=paste("\b",x,"\b", sep="")
temp=paste(c(x,length(grep(tempx,mydf))))
print(temp)}
如果不需要精确匹配;
for (x in mdf) {
temp=paste(c(x,length(grep(x,mydf))))
print(temp)}