将带有条件的"0"添加到 R 中字符串的开头,这与 "Add zeros to R because it has a condition" 不同



我有这个数据帧:

bloqueados$HoraLlamada<- as.character(c(83048, 163112, 115929, 123632, 114541,  72807 163626, 130051,  81645, 121639))

如果每行字符的名称是5,我需要在字符串的开头添加一个"0"。我正在尝试这些代码,但它是添加一个"0"到每一行:

for (i in bloqueados$HoraLlamada){
    if(nchar(bloqueados$HoraLlamada)==5){
        bloqueados$HoraLlamada2<- paste("0",bloqueados$HoraLlamada)
    }else{
        bloqueados$HoraLlamada2<-paste(bloqueados$HoraLlamada)
    }
}

在评论中描述了解决这个问题的几种可能的方法。这是另一个。它使用stringi包中的stri_pad_left()函数。

nums <-  as.character(c(83048, 163112, 115929, 123632, 114541,  72807, 163626, 130051,  81645, 121639))
library(stringi)
stri_pad_left(nums, pad="0", width = 6)
#[1] "083048" "163112" "115929" "123632" "114541" "072807" "163626" "130051" "081645" "121639"

相关内容

最新更新