r - 如何在整列的特定位置添加数值?

标签 r dataframe dplyr tidyverse

我有一个数字列,我想在最后 4 位数字之前添加数字 0。这些列包含数值,但这些值的位数不同,有的有 6 位,有的有 7 位。因此从头开始计数将是错误的,它必须在最后一个数字之前。因此,例如:

假设我有一列,一些数字是:

123456
1234567

我希望结果看起来像这样,所以 0 始终是最后 4 位数字之前的数字:

1203456
12304567

我不知道这是否有意义,如果您需要更多说明,请告诉我。

最佳答案

我们可以使用捕获 () 最后四位数字 (\\d{4}) 通过添加 $ 来指定结束字符串并替换为 0,后跟捕获组的反向引用 (\\1)

df1$col1 <- as.numeric(sub('(\\d{4})$', '0\\1', df1$col1))

-输出

df1$col1
[1]  1203456 12304567

数据

df1 <- structure(list(col1 = c(123456, 1234567)),
 class = "data.frame", row.names = c(NA, 
-2L))

关于r - 如何在整列的特定位置添加数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74331981/

相关文章:

r - 为什么中位数跳闸 data.table (整数与 double )?

r - ggplot2 问题 : Error in FUN(X[[i]], ...) : 未找到对象 'HR'

r - 当有多个数据点时复制信息

python - 如何获得与 R 中类似的 Pandas 数据框摘要?

r - 为什么 group_by() 会影响范围外的数据帧?

r - 如何在不执行 sum 或 mean 之类的函数的情况下 reshape data.table(从长到宽)?

r - 按组对前 500 行进行子集,用于组的子集

python - 在 Python 中获取两个列表组合的最佳方法是什么 -

R dplyr动态列选择

r - 在另一个表的同一行的多列上过滤 df?