Это можно сделать в одну строку с помощью магии регулярных выражений:
gsub('.*(.)$', '\\1', orders[[18]])
Обратите внимание на использование двойных скобок (orders[[18]]
), поскольку для gsub
требуется вектор, а не список. Регулярное выражение гласит: «вернуть единственный символ, который появляется перед концом строки».
Поскольку вас особенно интересует последний символ каждой строки, вы также можете избежать регулярных выражений и сделать это следующим образом:
split <- strsplit(orders[[18]], '')
reversed <- lapply(split, rev)
last_char <- lapply(reversed, '[', 1)