如何将INT向量转换为STRING向量([32,1002] - > [' 0032',' 1002'])

时间:2017-12-17 20:10:48

标签: r string formatting

我正在为个人项目创建目录和文件。每个都将与公交线路相关联(项目的范围是交通)。

这引出了我这个问题。如何将包含总线值的int向量转换为字符串向量? 例如:[3,100,700,5,701] - > [" 0003"," 0100"," 0700"," 701"]

这个想法是非常有条理的(>>

我已经完成了一项功能,但它并不是最好的。请不要判断。

numeric.to.character.digits <- function(numeric.vector){
  vet.character <- c()
  for(i in 1:length(numeric.vector))
  {
    if(numeric.vector[i]/1000 >=1)
    {
      vet.character[i] <- as.character(numeric.vector[i])    
    }

    if (numeric.vector[i]/1000 < 1)
    {
      vet.character[i] <- paste0("0",as.character(numeric.vector[i]))
    }

    if(numeric.vector[i]/100 < 1)
    {
      vet.character[i] <- paste0("00",as.character(numeric.vector[i]))
    }

    if(numeric.vector[i]/10 < 1)
    {
      vet.character[i] <- paste0("000",as.character(numeric.vector[i]))
    }
  }
  return (vet.character)
}

但是,此功能尚未完成。我希望有一个更通用的。在我制作的这个中,我只能输入4位数的总线。是不是有一种更通用的方式来实现它? &#39; 0&#39;的数量必须根据最大位数来定义。

例如:[1000,1,10] - &gt;最大数字= 4 - &gt; [&#39; 1000&#39;&#39; 0001&#39;&#39; 0010&#39;]

0 个答案:

没有答案