从多种不同格式创建标准化数据表条目

Sam*_*bus 1 r dataframe

我有一个包含许多字段的数据框.其中一个字段是"Sample",由于各种输入,我的样本使用各种格式命名.这里有些例子:

 "12" "250" "1248" "1_100111" "16_100111" "125_081811" "1249_100111" 
Run Code Online (Sandbox Code Playgroud)

以上实例代表大多数样品.我想将所有样本更改为4位数格式,以便轻松排序.以上示例的最终结果将是:

 "0012" "0250" "1248" "0001" "0016" "0125" "1249" 
Run Code Online (Sandbox Code Playgroud)

因此,在某些情况下必须添加零,而在其他情况下,必须切断日期标记.在数据框的上下文中进行更改并以相同的格式返回非常重要.

And*_*rie 5

干得好:

x <- c("12", "250", "1248", "1_100111", "16_100111", "125_081811", "1249_100111")
sprintf(as.numeric(gsub("(\\d*)_*\\d*$", "\\1", x)), fmt="%04d")

[1] "0012" "0250" "1248" "0001" "0016" "0125" "1249"
Run Code Online (Sandbox Code Playgroud)