2014-10-15 2 views

ответ

6

Вы можете использовать gsub, чтобы удалить все числа из каждого элемента, затем nzchar, чтобы проверить/сохранить только ненулевые символы.

codes[nzchar(gsub("[0-9]+", "", codes))] 
# [1] "3WC8" "lev" 
+0

Я подтверждаю, что это работает. +1 –

+1

Я изучил хорошую технику. Иди гигантов! +1 – jazzurro

+0

+1 для использования 'nzchar'! –

4

Try:

> codes[is.na(sapply(codes, as.numeric))] 
[1] "3WC8" "lev" 

или просто (как это было предложено @akrun в комментариях):

> codes[is.na(as.numeric(codes))] 
[1] "3WC8" "lev" 

Игнорировать предупреждения в обоих кодексах.

3

Или вы могли бы сделать:

grep("^\\d+$", codes, value=TRUE, invert=TRUE) 
#[1] "3WC8" "lev"