繁体   English   中英

与gregexpr和字符向量lapply

[英]lapply with gregexpr and character vector

我是新手使用lapply等。我的代码和数据遵循......

b  = c( "ZFW", "ZTL" )

我有一个更大的字符向量,dfNames(长度= 147),其中包含像......这样的实例

dfNames[ 113 ] "arr_to_KEWR_in_ZFW"
dfNames[ 147 ] "arr_to_KEWR_in_ZTL"

当我应用此代码时......

indx = which( unlist( lapply( paste( '_in_', b, sep = '' ), function(v){gregexpr( v, dfNames )} ) ) != -1 )

我收到一个indx中的整数列表,其长度至少为294 ...

6  41  58  75 101 118 135 165 200 217 234 260 277 294

在dfNames上生成[indx] ...

"all_in_ZFW" "dep_from_KCLT_in_ZFW" "dep_from_KDFW_in_ZFW" "dep_from_KEWR_in_ZFW"
"arr_to_KCLT_in_ZFW"   "arr_to_KDFW_in_ZFW"   "arr_to_KEWR_in_ZFW"   NA                    
NA                     NA                     NA                     NA                    
NA                     NA   

所以,很明显我使用lapply导致R环绕并且我没有从包含pattern ='ZTL'的dfNames返回索引。

抱歉愚蠢的问题。

我明白了,你正在寻找

b = c("ZFW", "ZTL" )
lapply(b, function(x) grepl(x, list))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM