2016-09-29 5 views
-7

мои данные имеют много столбцов с разными именами и хотят видеть все числовые значения только в столбце name_id и сохранять эти значения в z. Я хочу, чтобы z должен содержать только числовые значения столбца name_id из data, если какой-либо алфавит находится в столбце, то он не должен храниться в z.Как выбрать только целочисленные значения столбца

z <- unique(data$name_id) 
z 
#[1] 10 11 12 13 14 3 4 5 6 7 8 9 
#Levels: 10 11 12 13 14 3 4 5 6 7 8 9 a b c d e f 

, когда я попытался это

z <- unique(as.numeric(data$name_id)) 
z 
# [1] 1 2 3 4 5 6 7 8 9 10 11 12 

вывод содержит значения только до 12, но столбец значения больше 12 также

+0

@ В столбце Dave2e есть как целое число данных, так и символ, я хочу выбрать только целые значения и сохранить эти целые значения в z. –

+4

Вам нужно 'as.numeric (as.character (' – akrun

ответ

0

Учитывая ваш кадр данных в качестве

> b 
[1] "1" "2" "3" "4" "5" "13" "14" "15" "45" "567" "999" "Name" "Age" 

Применить этот :

regexp <- "[[:digit:]]+" 
> z <- str_extract(b , regexp) 
z[is.na(z)] <- "" 

> z 
[1] "1" "2" "3" "4" "5" "13" "14" "15" "45" "567" "999" "" "" 

Надеюсь, это поможет.

+0

), он будет хранить значения только от 0 до 9. Что относительно значений больше, чем 9? –

+0

Пожалуйста, см. Отредактированный ответ. –

+0

хотите сделать простым способом ..look снова отредактированный вопрос. –

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