我有一个数字列,我想在最后 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/