我有一个向量
a<-c(18.123412, 0, 1.5, 34.123, 2.1)
我想从中创建一个字符串。
paste(round(a,3), collapse = " " )
一切工作正常,但问题是我希望每个数字的输出相同,我的意思是以下内容。现在我有了
"18.123 0 1.5 34.123 2.1"
我需要
"18.123 0___ 1.5__ 34.123 2.1__"
这里的 _ 表示由于该数字的位数较少,所以我们需要用空格替换它们。 知道如何实现这一目标吗?
最佳答案
使用formatC
:
formatC(a, width=10, drop0trailing=TRUE)
[1] " 18.12" " 0" " 1.5" " 34.12" " 2.1"
要将粘贴
到单个字符串中,请使用参数collapse=""
:
paste0(formatC(a, width=10, drop0trailing=TRUE), collapse="")
[1] " 18.12 0 1.5 34.12 2.1"
要左对齐,请使用参数flag="-"
:
formatC(a, width=10, drop0trailing=TRUE, flag="-")
[1] "18.12 " "0 " "1.5 " "34.12 " "2.1 "
有关更多帮助和其他选项,请参阅 ?formatC
、?prettyNum
或 ?format
。
关于r - 将数字连接到字符串输出中,格式化每个数字以采用相同的字符宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240879/