我想知道如何排除行,这些行只有数字作为字符向量中的内容。我想保留以下格式的变量:
123_john-dallas
222_Michael Berlin
45678_thomas-Karlsruhe
使用以下格式删除数据:
122345
12567:1992
120388;20:34
394,21:33
来自一个单一的字符向量。所需格式的共同主题似乎是下划线'_'因此我尝试捕获它失败:
一些数据:
seed(1000)
string<- function(n=1000, lenght=10)
{
random <- c(1:n)
for (i in 1:n)
{
random[i] <- paste(sample(c("AbcD","_", 1:9),
lenght, replace=TRUE),
collapse="")
}
return(random)
}
characterNumber<-string()
character<-grep(characterVector,'_')
但我只是一个空的载体。
答案 0 :(得分:3)
如果您想保留包含_
的所有值,可以像这样使用grep
:
characterNumber[grep("_", characterNumber)]
或者,如果您要排除包含数字的所有元素:
,;
或,
,您可以尝试以下内容:
characterNumber[!grepl("^[0-9:;,]+$", characterNumber)]
答案 1 :(得分:1)
如果mystr
是你的角色向量,你可以尝试要求只保留包含字母的字符串:
mystr[grepl("[a-zA-Z]", mystr)]
实施例
mystr <- c("123_john-dallas", "222_Michael Berlin", "45678_thomas-Karlsruhe","122345", "12567:1992", "120388;20:34", "394,21:33")
mystr[grepl("[a-zA-Z]", mystr)]
#[1] "123_john-dallas" "222_Michael Berlin" "45678_thomas-Karlsruhe"