Rownames во фрейме данных - это в основном вектор такой же длины, что и столбцы фрейма данных, с дополнительными требованиями, чтобы он (как правило) был наиболее уникальным, и он должен быть символьным вектором.
Проще всего начать с добавления его в качестве дополнительного столбца:
data$whatever <- rownames(data)
Теперь вы можете легко выполнять все свои обычные операции с этим столбцом.
Чтобы найти элемент, последний символ которогострочная буква, у вас есть:
grepl("[a-z]$", x)
, где x
- интересующий вектор.Чтобы удалить (т.е. заменить оскорбляющий символ на ""
), используйте sub
:
sub("[a-z]$", "", x)
Сложите это вместе и что вы получите:
rownames(data) <- sub("[a-z]$", "", rownames(data))
Разница между sub
и gsub
заключается в том, что sub
выполняет только 1 замену для каждого элемента, тогда как gsub
выполняет несколько.