2014-12-19 2 views
2

У меня есть вектор вроде этого:Удалить конец каждого числа в векторе в R

a <- c(11223344,55667788) 

Я хотел бы создать новый вектор резку двух последних номеров каждой записи в:

[1] 112233 556677 

Должен ли я использовать регулярное выражение для достижения этого или есть простой индексный трюк, о котором я не знаю?

ответ

5

Если они целые:

> trunc(a/100) 
[1] 112233 556677 

только если они строго положительны, то вы могли бы использовать слово:

> floor(a/100) 
[1] 112233 556677 
+2

Я думаю, второй лучше (в случае отрицательных чисел первое решение не работает) –

+0

Хорошая точка, переключатель хед рекомендательный заказ и подвешенный «пол». – Gregor

3

Вы можете использовать substr (или substring), сокращая количество символов от в два до конца

a <- c(11223344, 55667788) 
substr(a, 1, nchar(a)-2) 
# [1] "112233" "556677" 

обертывание в as.numeric, если это необходимо.

6

Или вы могли бы использовать sub

as.numeric(sub('..$','', a)) 
#[1] 112233 556677 
Смежные вопросы