【发布时间】:2020-08-21 21:28:07
【问题描述】:
我有一个地址向量(一个小的 sn-p 如下所示)
df=c("westmoorings east","chaguanas proper","bloody bay" ,"westmooorings",
"el doraldo","rousillac34") (full length=5432)
以及参考城市/地区的另一个向量(参见下面的 sn-p)
areas=c("arima","port of spain","chaguanas") (full length=20)
我想将df 中的地址按areas 向量中的区域分组,例如地址chaguanas proper 将分组在chaguanas 下。我正在使用列表来存储结果。我用来完成此操作的代码是:
L=list()
for(i in 1:length(areas)){
ind=grep(paste(areas[i]),df)
L[i]=df[ind]
df[-ind] #updates the df to exclude all addresses already stored in L[i]
}
问题在于 L[i]=df[ind] 行。我收到错误“number of items to replace is not a multiple of replacement length”有人可以帮忙吗?我正在让模式匹配工作,但将结果存储在列表组件中会引发该错误。顺便说一句,我正在使用 R。
【问题讨论】:
-
如果没有匹配,则 grep 返回 NULL 或
numeric(0)。我猜你需要if/else。
标签: r regex list pattern-matching