2016-06-28 52 views
1

我的數據看起來是這樣的:[R計算字數只有一次

df <- c("I am a car","I will","I have","I give","A bat","A cat") 
df <- as.data.frame(df) 
colnames(df) <- c("text") 
df$count <- str_count(df$text, regex("a{1}?",ignore_case = T)) 

我想算只是「一」的第一行中,不是每一次的一個實例,它出現在全串。謝謝!

回答

2

也許我們需要grep

as.integer(grepl("\\ba\\b", df$text, ignore.case=TRUE)) 

或者使用stringr

library(stringr) 
as.integer(str_detect(df$text, "\\ba\\b")) 
#[1] 1 0 1 0 1 1 
+0

@Arun的'\\ B'指示字的邊界。所以本質上,無論是''一個''還是那個都行啊 – akrun

+1

啊!我的壞..我被扔掉的樣本答案..此外,不知道'\\ b'謝謝你的提示! – theArun

+0

工作很好,謝謝! – dhrice