所以我只是建立了基本上需要兩個字符串(一個文本和一組關鍵字)的函數。然後它必須找出文本字符串包含多少關鍵字(如果有的話)。我一直在嘗試將代碼應用於數據幀,但沒有成功。將函數轉換爲應用,sapply(data.frame)
功能工作:
something=function(text,keywords){
kw = unlist(strsplit(keywords, ","))
c=0
for(i in length(kw)){
if(grepl(kw[i],text)==0){
c=c+1
} else {c}
}
return(c)
}
在哪裏,如果我稱輸入:
> something("this planetarium is the shit","planetarium,amazing")
[1] 1
但如果我的數據幀df
keyword text_clean
1 planetarium Man this planetarium is the shit
2 musee,africain rt lyonmangels reste encore places franceangels tour lyon organisons investissons pme
我的產量預期是什麼:
df.1
1 1
2 0
任何見解?我試着這個代碼:
substng<-function(text, keywords){
vector = laply(text,function(text,keywords){
kw = unlist(strsplit(keywords, ","))
c=0
for(i in length(kw)){
if(grepl(kw[i],text)==0){
c=c+1
} else {c}
}
return(c)
})
vector.df= as.data.frame(vector)
}
df <- read.table(header = TRUE, stringsAsFactors = FALSE, text = "keyword text_clean
planetarium 'Man this planetarium is the shit'
musee,africain 'rt lyonmangels reste encore places franceangels tour lyon organisons investissons pme'")
df$count = substng(df$text_clean,df$keyword)
'mapply(東西,DF $ text_clean,DF $關鍵字,USE.NAMES = FALSE)'應該工作。雖然我認爲你是'grepl(...)== 0''ing當你應該''grepl(...)== 1''' – rawr
我測試過,'grepl(...)== 0 '0是真的..但你的幫助我解決了我的代碼。我有我的功能運行! 謝謝! –