我有一个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
中执行此操作由于
答案 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"