R:打印一串不同长度的绳子,并用空格填充休息

时间:2014-07-08 14:20:09

标签: r printing

我的问题如下:我需要编写自己的打印功能,输出应该保存到文本文件中,看起来非常类似于表格。

基本上我的结构是:

Description                                              Symbol       Rank

我是这样做的:

paste("Description                                              Symbol       Rank", "\n",sep="")

现在你可以猜到我的问题。一些符号描述是10个字母长,有些是20个等等。这就是为什么我对这些行的粘贴功能不能那么简单。我如何编程这个填充让我们说一个20个字母长的字符串剩余的10个空格,而对于一个10个字母的字符串我用其余的空格填充剩下的20个字符串?

4 个答案:

答案 0 :(得分:2)

paste0(yourstring,paste0(rep(" ",20-nchar(yourstring)),collapse = "")) 

这应该有帮助......我想

答案 1 :(得分:1)

你可以玩str_pad

> x <- c("Description", "Symbol", "Rank")
> library(stringr)
> str_pad(x, 20)
# [1] "         Description" "              Symbol" "                Rank"
> str_pad(x, 20, side = "right")
# [1] "Description         " "Symbol              " "Rank                "
> c(str_pad(x[1], 20, "right"), str_pad(x[2], 20), x[3])
# [1] "Description         " "              Symbol" "Rank" 

答案 2 :(得分:1)

第三种解决方案是经典的sprintf

> x <- c("Description", "Symbol", "Rank")
> sprintf("%20s",x)
[1] "         Description" "              Symbol" "                Rank"

答案 3 :(得分:1)

您也可以使用formatC

 formatC(x, width=-20)
 #[1] "Description         " "Symbol              " "Rank                "