首页 > 解决方案 > R - 根据以数值开头的名称过滤列表

问题描述

我在 R 中有以下列表:

x <- list("a"="m","a2"="test","001"="test2","002"="test3")

$a
[1] "m"

$a2
[1] "test"

$`001`
[1] "test2"

$`002`
[1] "test3"

我想过滤这个列表,使它只返回以数字开头的项目,即它会返回:

x$001 and x$002

标签: r

解决方案


彼得还没有拿起它,所以我会发表我的评论作为答案。我们可以使用正则表达式模式"^[0-9]"来查找以数字开头的字符串。将其应用于列表名称:

x[grepl("^[0-9]", names(x))]
# $`001`
# [1] "test2"
# 
# $`002`
# [1] "test3"

推荐阅读