使用 grepl 对包含两列中某些文本的相同提及的数据框进行子集化

Using grepl to subset dataframe containing the same mentioning of some text in two columns

我正在处理一个包含两列的数据框 (account),其中包含 "posting" IP 位置(在 city 列中)以及这些帐户当时的位置首次注册(在 register 列)。我正在使用 grepl() 对发布位置和注册位置均来自纽约州 (NY) 的行进行子集化。以下是部分数据和我对所需输出进行子集化的代码:

account <- data.frame(city = c("Beijing, China", "New York, NY", "Hoboken, NJ", "Los Angeles, CA", "New York, NY", "Bloomington, IN"),
register = c("New York, NY", "New York, NY", "Wilwaukee, WI", "Rochester, NY", "New York, NY", "Tokyo, Japan"))

sub_data <- subset(account, grepl("NY", city) == "NY" & grepl("NY", register) == "NY")

sub_data
[1] city     register
<0 rows> (or 0-length row.names)

我的代码不起作用,返回了 0 行(而至少有两行应该符合我的选择标准)。我的代码出了什么问题? 在提出这个问题之前,我已经参考了 this previous thread

函数 grepl 已经 returns 一个逻辑向量,所以只需使用以下内容:

sub_data <- subset(account, 
                   grepl("NY", city) & grepl("NY", register)
                   )

通过使用 grepl("NY", city) == "NY" 之类的东西,您是在询问 R FALSE TRUE FALSE FALSE TRUE FALSE 中的任何值是否等于 "NY",这当然是错误的。