특정 변수에 텍스트 문자열이 포함 된 data.frame이 있습니다. 각 개별 문자열에서 주어진 문자의 발생 횟수를 계산하고 싶습니다.
예:
q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not"))
문자열에서 "a"의 발생 횟수 (예 : c (2,1,0))를 사용하여 q.data에 대한 새 열을 만들고 싶습니다.
내가 관리 한 유일한 복잡한 접근 방식은 다음과 같습니다.
string.counter<-function(strings, pattern){
counts<-NULL
for(i in 1:length(strings)){
counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0])
}
return(counts)
}
string.counter(strings=q.data$string, pattern="a")
number string number.of.a
1 1 greatgreat 2
2 2 magic 1
3 3 not 0