簡體   English   中英

Rstudio:嘗試在數據框中使用%in%運算符時出錯

[英]Rstudio: Error while trying to use %in% operator in a dataframe

我想查找數據框的某個單元格是否包含一個單詞,該單詞存在於另一個數據框的另一個單元格中。 具體來說:

geoplaces$name[1]的值: Athens

adresses$Comments[1]的價值: Is he still in Athens?

但是當我執行以下腳本時:

if(geoplaces$name[1] %in% adresses$Comments[1]){
  print("hello")
}else{print("error")}

結果我得到了“錯誤”。

對這有什么問題有什么建議嗎?

%in%運算符正在尋找精確匹配。 在您的情況下,由單個元素“他還在雅典嗎?”組成的向量中不包含“雅典”

您可能對子字符串匹配感興趣。 有很多方法可以做到這一點。 您可以使用grepl函數嘗試此操作:

if(grepl(geoplaces$name[1], adresses$Comments[1])) {
  print("hello")
} else {
  print("error")
} 

在這里,您要檢查向量的第一個元素( geoplaces$name[1] )與另一個向量的第一個元素( adresses$Comments[1] )是否相同。 比較字符串是否相同。 但事實並非如此。 如果只希望元素(Athens)在列表中是合乎邏輯的,請嘗試使用正則表達式。 所以這應該工作: grepl(geoplaces$name[1], adresses$Comments[1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM