R 如何查找和替换字符向量中的数字行?

R 如何查找和替换字符向量中的数字行?,r,R,我想知道如何排除在字符向量中只有数字作为内容的行。我希望保留以下格式的变量: 123_john-dallas 222_Michael Berlin 45678_thomas-Karlsruhe 122345

我想知道如何排除在字符向量中只有数字作为内容的行。我希望保留以下格式的变量:

                               123_john-dallas
                               222_Michael Berlin
                               45678_thomas-Karlsruhe
                                122345
                                12567:1992
                                120388;20:34
                                394,21:33
并删除以下格式的数据:

                               123_john-dallas
                               222_Michael Berlin
                               45678_thomas-Karlsruhe
                                122345
                                12567:1992
                                120388;20:34
                                394,21:33
从一个单一的字符向量。所需格式的公共主题似乎是下划线“\ux”,因此我尝试捕获它,但未成功:

一些数据:

                        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,'_')
种子(1000)

字符串如果
mystr
是您的字符向量,您可以尝试仅保留包含字母的字符串:

mystr[grepl("[a-zA-Z]", mystr)]
范例


mystr如果
mystr
是您的字符向量,您可以尝试要求只保留包含字母的字符串:

mystr[grepl("[a-zA-Z]", mystr)]
范例


mystr如果您想保留所有包含
\uu
的值,可以像这样使用
grep

characterNumber[grep("_", characterNumber)]
characterNumber[!grepl("^[0-9:;,]+$", characterNumber)]
或者,如果要排除包含数字的所有元素,
,您可以尝试以下方法:

characterNumber[grep("_", characterNumber)]
characterNumber[!grepl("^[0-9:;,]+$", characterNumber)]

如果要保留包含
\uu
的所有值,可以像这样使用
grep

characterNumber[grep("_", characterNumber)]
characterNumber[!grepl("^[0-9:;,]+$", characterNumber)]
或者,如果要排除包含数字的所有元素,
,您可以尝试以下方法:

characterNumber[grep("_", characterNumber)]
characterNumber[!grepl("^[0-9:;,]+$", characterNumber)]

就这样!!谢谢!!请允许我为我处理数据帧的情况扩展您的答案。如果保留“u”,我还希望保留与第123行相对应的其他属性中的行。\u MichaelYou希望保留至少一列中包含
-
的行吗?给定id为(123_michael)age(32)skills(5)的数据框。如果删除除此之外的所有行,我还希望从年龄和技能中删除相应的行。如果用u.保留所有行,我想保留相应的行,不受年龄和技能的影响…很抱歉误解。然后使用数据帧索引:
df[grep(“u”),df$id),]
。就这样!!谢谢!!请允许我为我处理数据帧的情况扩展您的答案。如果保留“u”,我还希望保留与第123行相对应的其他属性中的行。\u MichaelYou希望保留至少一列中包含
-
的行吗?给定id为(123_michael)age(32)skills(5)的数据框。如果删除除此之外的所有行,我还希望从年龄和技能中删除相应的行。如果用u保留所有行,我想保留相应的行,不受年龄和技能的影响…很抱歉误解。然后只需使用数据帧索引:
df[grep(“u”),df$id),]