在列 Dataframe 文本之间插入字符

w8f9ii69  于 2023-03-15  发布在  其他
关注(0)|答案(1)|浏览(125)

我想像这样在df中的文本之间插入一个字符

df=data.frame(Clock=c("78","89","910","1011"))

| 时钟|
| - ------|
| 七十八|
| 八十九|
| 小行星910|
| 小行星|
我的预期df
| 时钟|
| - ------|
| 0708|
| 0809|
| 小行星0910|
| 小行星|

cbwuti44

cbwuti441#

strsplit()插入单个字符,根据向量长度插入"0" s,然后将paste()重新组合在一起:

df$Clock <- sapply(
  strsplit(df$Clock, split = ""),
  \(x) {
    if (length(x) == 2) {
      x <- append(x, "0", after = 1)
    }
    if (length(x) == 3) {
      x <- c("0", x)
    }
    paste(x, collapse = "")
  }
)

df
Clock
1  0708
2  0809
3  0910
4  1011

注意@RitchieSacramento关于"111"这样的模糊输入的评论,你也可以使用他的解决方案,先强制输入数字。

相关问题