我有一个data.table完整字符串的列,格式为字符串+整数.例如
string1, string2, string3, string4, string5,
Run Code Online (Sandbox Code Playgroud)
当我使用时sort(),我把这些字符串放错了.
string1, string10, string11, string12, string13, ..., string2, string20,
string21, string22, string23, ....
Run Code Online (Sandbox Code Playgroud)
我如何将它们排序为顺序
string01, string02, string03, string04, strin0g5, ... , string10,, string11,
string12, etc.
Run Code Online (Sandbox Code Playgroud)
一种方法可以是0为每个整数添加一个<10,1-9?我怀疑你会提取字符串,str_extract(dt$string_column, "[a-z]+")然后添加0到每个单位数整数......不知何故sprintf()
我们可以删除不是数字的字符来进行sort处理
dt[order(as.integer(gsub("\\D+", "", col1)))]
Run Code Online (Sandbox Code Playgroud)