更改数据框中的第三列,添加零

时间:2016-03-21 17:29:59

标签: r dataframe

我有一个data.frame,其中包含两列,如下所示:

>df
27-01-1345  27-01-1345
      <NA>    1-01-325
54-01-1265  54-01-1265

当这组数字只有三位数时,我想在第二列的第三组数字中加零。所需的输出应如下:

>df
27-01-1345  27-01-1345
      <NA>    1-01-325
54-01-1265  54-01-1265

我知道如何使用bash脚本执行此操作,但我需要在R

中执行此操作

由于

1 个答案:

答案 0 :(得分:2)

假设我们需要格式化&#34; 325&#34;在第二栏中说&#34; V2&#34;数据集&#34; df&#34;到&#34; 0325&#34;,然后使用sub。在pattern中,我们可以将-后跟3个字符匹配到字符串的末尾($)。这可以放在捕获组中(即括号内)。 replacement部分将包含-0和已捕获组(\\1)的反向引用。

df$V2 <- sub("-(.{3})$", "-0\\1", df$V2)
df$V2
#[1] "27-01-1345" "1-01-0325"  "54-01-1265"