R如何添加前导零而不是空格

C_M*_*_Mu 1 whitespace r leading-zero

首先,我已阅读以下帖子(R:保持前导零然后再看一遍还有这个这个,或者这个。),但我的问题没有得到任何人的回答。

我尝试在该列中添加前导零ID。该文件是从excel导入的,我不知道如何上传到这里。可能无法向您复制该过程。

当我使用以下任何代码添加前导零时

formatC(data$col,width=5,format="s",flag="0")
sprintf("%05s",data$col)
gsub('\\s','0',data$col)
Run Code Online (Sandbox Code Playgroud)

它们都在字符串前给了我一个空格,而不是零。例如" 4097"

我还尝试减少任何空格trimws(sort$DlrNbr, which = c("both", "left", "right")),并重新尝试添加前导零,仍然失败。

你知道发生了什么事吗?任何见解都有帮助!

luc*_*one 5

您在 sprintf 中使用了错误的格式。

使用sprintf('%05d', data$col)应该可以解决问题(注意d,它用于格式化整数,而不是s,它用于格式化字符串)。

您可以在帮助页面中找到更多详细信息:https://www.rdocumentation.org/packages/base/versions/3.4.3/topics/sprintf