r - 如何在R数据框中添加不同长度的前导零

标签 r dataframe

这个问题在这里已经有了答案:





How to add leading zeros?

(8 个回答)


5年前关闭。




我有一个数据框,其中行名的总位数不同。有 152 行。当不同的行需要不同数量的潜在客户以达到最大 8 位数字时,如何添加前导零?

row.names
4921103 
42106   
19562106    
11102
3435467

最佳答案

我们可以试试 sprintf (假设示例中的 row.names 是数字)

sprintf("%08d", df1$row.names)
#[1] "04921103" "00042106" "19562106" "00011102" "03435467"
如果不是数字,则转换为数字并使用sprintf
sprintf("%08d", as.numeric(df1$row.names))
如果我们的意思是 row.names作为数据集的行名
row.names(df2) <- sprintf("%08d", as.numeric(row.names(df2)))
row.names(df2)
#[1] "04921103" "00042106" "19562106" "00011102" "03435467"
注意:不需要外部软件包。
数据
df1 <- structure(list(row.names = c(4921103L, 42106L, 19562106L, 11102L, 
3435467L)), .Names = "row.names", class = "data.frame", row.names = c(NA, 
-5L))

df2 <- data.frame(v1= 1:5)
row.names(df2) <-  c(4921103L, 42106L, 19562106L, 11102L, 3435467L)

关于r - 如何在R数据框中添加不同长度的前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491261/

相关文章:

r - 如何使用glue_sql()并避免粘贴动态SELECT语句?

r - 在 R 中存储所有可能的排列

r - 估计未定义表面的梯度

python - Pandas 数据框 : select multiple rows based on entries in other rows

r - 如何使用tidyverse中的相​​邻列修改另一列中命名的列?

r - 在 R 中生成可能排列的随机、非重复子集

python - 根据字典中的键对在数据框中创建不同的列

python - 显示数据框时显示趋势箭头

r - 如何在 R 中将完整日期字符转换为 mm/dd/yyyy?

r - 通过不在该 data.table 中的列通过行扩展 R data.table?