2016-09-21 12 views
-4

Я ищу код для удаления символов из алфавитно-цифрового вектора кадра данных. Это мой столбец данных ниже:Удалить символы из буквенно-цифровой колонки в R?

F9667968CU 
67968PX11 
3666SP 
6SPF10 
2323DL1 
23DVL10 
2016PP07 

И это код, который я использовал:

for(i in 1: length(rownames(testsample))) 
{ 
    testsample$column1[i]<-gsub("[a-zA-Z]","",testsample$column1[i]) 
} 

И ниже выход я ожидал:

9667968 
6796811 
3666 
610 
23231 
2310 
201607 
+4

действительно? [Первый хит google] (http://stackoverflow.com/questions/17009628/extracting-numbers-from-string-in-r), [второй] (http://stackoverflow.com/questions/15451251/extract-numeric -part-of-strings of of mixed-numbers-and-characters-in-r), [третий] (http://stackoverflow.com/questions/14543627/extracting-numbers-from-vectors-of-strings) – Sotos

+1

'gsub' является векторизованным, вам не нужен цикл for,' testsample $ column1 <- gsub ("[a-zA-Z]", "", testample $ column1) 'должен работать – Cath

ответ

0

Попробуйте это:

df 
     col 
1 F9667968CU 
2 67968PX11 
3  3666SP 
4  6SPF10 
5 2323DL1 
6 23DVL10 
7 2016PP07 

df$col <- as.integer(gsub('[a-zA-Z]', '', df$col)) 
df 
     col 
1 9667968 
2 6796811 
3 3666 
4  610 
5 23231 
6 2310 
7 201607 

 Смежные вопросы

  • Нет связанных вопросов^_^