从data.frame中的列中提取最后2个字符

MVi*_*oda 3 r extract dataframe

我是R编程的新手,已经搜索了很多个小时.我很感激你的帮助.

我有一个数据框,有3列(日期,描述,借记)

      Date         Description   Debit
2014-01-01      "abcdef    VA"      15
2014-01-01     "ghijkl"    NY"      56
Run Code Online (Sandbox Code Playgroud)

我试图提取第二个(描述)列的最后2个字符(即2个字母的州名缩写).我对应用类型函数不太满意.

我试过用

 l <- lapply(a$Description, function(x) {substr(x, nchar(x)-2+1, nchar(x))})
Run Code Online (Sandbox Code Playgroud)

但得到以下错误消息

Error in nchar(x) : invalid multibyte string, element 1 
Run Code Online (Sandbox Code Playgroud)

我尝试了多种其他方法,但有相同的错误.

我很确定我遗漏了一些非常基本的东西,所以非常感谢你的帮助

谢谢

Sot*_*tos 6

library(stringr)
str_sub(a$Description,-2,-1)
Run Code Online (Sandbox Code Playgroud)