亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何添加前導零?

如何添加前導零?

慕運維8079593 2019-06-01 16:51:02
如何添加前導零?我有一組數據如下所示: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 anim21 25499   1 0.8     22 25500   2 1.2     23 25501   2 1.0     24 25502   1 2.0     25 25503   2 1.8     26 25504   1 1.4     2我希望在每個動物身份之前加一個零:data   anim sex  wt anim21 025499   1 0.8     22 025500   2 1.2     23 025501   2 1.0     24 025502   1 2.0     25 025503   2 1.8     26 025504   1 1.4     2為了利息起見,如果我需要在動物身份之前加兩個或三個零呢?
查看完整描述

4 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

中有多少位數的通用解決方案。data$anim,使用sprintf功能。它的工作方式如下:

sprintf("%04d", 1)# [1] "0001"sprintf("%04d", 104)# [1] "0104"sprintf("%010d", 104)# [1] "0000000104"

就你而言,你可能想:data$anim <- sprintf("%06d", data$anim)


查看完整回答
反對 回復 2019-06-01
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

在@Goodside‘srepsonse上擴展:

在某些情況下,您可能希望使用零填充字符串(例如,FIPS代碼或其他類似數字的因素)。在OSX/Linux中:

> sprintf("%05s", "104")[1] "00104"

但因為sprintf()調用OS的Csprintf()命令,討論這里,在Windows 7中,您會得到一個不同的結果:

> sprintf("%05s", "104")[1] "  104"

所以在Windows機器上的工作是:

> sprintf("%05d", as.numeric("104"))[1] "00104"


查看完整回答
反對 回復 2019-06-01
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

str_padstringr包裹是另一種選擇。

anim = 25499:25504str_pad(anim, width=6, pad="0")


查看完整回答
反對 回復 2019-06-01
  • 4 回答
  • 0 關注
  • 925 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號