要从R中的向量中删除某些值吗
我有以下形式的向量:要从R中的向量中删除某些值吗,r,regex,gsub,R,Regex,Gsub,我有以下形式的向量: a注意,gsub只删除字符向量项中的文本,而不删除项目本身。在这种情况下,您需要类似于grep的解决方案 您可以使用简单的模式来标识这些项目: ^\[\d+]$ 看 详细信息 ^-字符串的开头 \[-a[字符 \d+-1+位 ]-文字] $-字符串结束 然后,将其与grep命令一起使用与invert=TRUE选项一起使用,以仅保留与此正则表达式不匹配的项,并使用value=TRUE获取值而不是索引 见: >一个grep(“^\\\[\\d+]$”,a,invert=T
a注意,
gsub
只删除字符向量项中的文本,而不删除项目本身。在这种情况下,您需要类似于grep
的解决方案
您可以使用简单的模式来标识这些项目:
^\[\d+]$
看
详细信息
-字符串的开头^
-a\[
字符[
-1+位\d+
-文字]
]
-字符串结束$
grep
命令一起使用与invert=TRUE
选项一起使用,以仅保留与此正则表达式不匹配的项,并使用value=TRUE
获取值而不是索引
见:
>一个grep(“^\\\[\\d+]$”,a,invert=TRUE,value=TRUE)
[1] "\"0\""
是否要将它们置空或从字符向量中删除?请阅读gsub
的文档,错误消息是不言自明的。@WiktorStribiżew我想删除它们。如果您发布生成该向量的代码,即a,将非常有用?
remove<- gsub("[0:9]", a)
Error in gsub("[0:9]", a) : argument "x" is missing, with no default
^\[\d+]$
> a <- c("[1]", "\"0\"")
> grep("^\\[\\d+]$", a, invert=TRUE, value=TRUE)
[1] "\"0\""