相关疑难解决方法(0)

如何添加前导零?

我有一组看起来像这样的数据:

anim <- c(25499,25500,25501,25502,25503,25504)
sex  <- c(1,2,2,1,2,1)
wt   <- c(0.8,1.2,1.0,2.0,1.8,1.4)
data <- data.frame(anim,sex,wt)

data
   anim sex  wt anim2
1 25499   1 0.8     2
2 25500   2 1.2     2
3 25501   2 1.0     2
4 25502   1 2.0     2
5 25503   2 1.8     2
6 25504   1 1.4     2
Run Code Online (Sandbox Code Playgroud)

我希望在每个动物ID之前添加零:

data
   anim sex  wt anim2
1 025499   1 0.8     2
2 025500   2 1.2     2
3 025501   2 1.0     2
4 025502   1 2.0     2
5 025503   2 1.8     2
6 …
Run Code Online (Sandbox Code Playgroud)

formatting r number-formatting r-faq

320
推荐指数
4
解决办法
22万
查看次数

在字符串中添加前导零

我的data.frame的一列如下所示:

c("BP_1_CSPP", "BP_2_GEGS", "BP_3_AEAG", "BP_4_KPAP", "BP_5_TAKP", 
"BP_6_GGDR", "BP_7_MQQP", "BP_8_EEEE", "BP_9_RSDP", "BP_10_APAS", 
"BP_11_KRGG", "BP_12_RSQQ", "BP_13_QQLS", "BP_14_EPEV", "BP_15_AAPS", 
"BP_16_SDVT", "BP_17_GQQQ", "BP_18_AETP", "BP_19_PPSA", "BP_20_DATP", 
"EpQ_1_AYAT", "EpQ_2_HEKL", "EpQ_3_SCSV", "EpQ_4_MAYV", "EpQ_5_LKDP", 
"EpQ_6_ERCE", "EpQ_7_DNPA", "EpQ_8_YGIS", "EpQ_9_GMSS", "EpQ_10_AAKK", 
"EpQ_11_NIRI", "EpQ_12_ERRR", "EpQ_13_MDRE", "EpQ_14_SRQM", "EpQ_15_DWSI", 
"EpQ_16_VLVQ", "EpQ_17_GRTI", "EpQ_18_EKVR", "EpQ_19_PDVA", "EpQ_20_ADVT", 
"LbT_1_RPGG", "LbT_2_TQGD", "LbT_3_EVKS", "LbT_4_VIEM", "LbT_5_GSAD", 
"LbT_6_VRPI", "LbT_7_CELG", "LbT_8_APQQ", "LbT_9_SAEE", "LbT_10_GEAE", 
"LbT_11_EELR", "LbT_12_EWAN", "LbT_13_IKEE", "LbT_14_VSDF", "LbT_15_WEDV", 
"LbT_16_SGGA", "LbT_17_KATN", "LbT_18_EREG", "LbT_19_AWAS", "LbT_20_VDRD", 
"abc_1_CVTQ", "abc_2_KEAP", "abc_3_TAYI", "abc_4_MITN", "abc_5_MPTV", 
"abc_6_TRTG", "abc_7_KSTI", "abc_8_KEAI", "abc_9_HVYS", "abc_10_LGMG", 
"abc_11_VAYQ", "abc_12_AGTG", "abc_13_TDSW", "abc_14_HKKS", "abc_15_YGLA", 
"abc_16_WEEW", "abc_17_HSTI", "abc_18_EKCI", "abc_19_PAGI", …
Run Code Online (Sandbox Code Playgroud)

regex r string-substitution gsub

5
推荐指数
1
解决办法
586
查看次数

转换为R中的字符时填充数字

我需要将单位数字(例如c(1, 2, 3, 45))的向量转换为每个项目的长度为2的字符向量,并且在实际数字之前填充零(例如c("01", "02", "03", "45"),

我可以发誓我之前已经在R中做过一些聪明的功能,但我不能为我的生活找到它或记住它是什么......我不认为它是format(),但我可能会感到惊讶.

TL; DR:

我需要什么功能来转换它:

c(1, 2, 3, 45)
Run Code Online (Sandbox Code Playgroud)

对此:

c("01", "02", "03", "45")
Run Code Online (Sandbox Code Playgroud)

谢谢,

format parsing r

2
推荐指数
1
解决办法
1523
查看次数

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

首先,我已阅读以下帖子(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")),并重新尝试添加前导零,仍然失败。

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

whitespace r leading-zero

1
推荐指数
1
解决办法
4662
查看次数