Mat*_*ert 20 formatting printf r output
我有字符串的向量,并希望创建一个固定的字符串.较短的字符串应填充白色空格.例如:
c("fjdlksa01dada","rau","sjklf")
sprintf("%8s")
# returns
[1] "fjdlksa01dada" " rau" " sjklf"
Run Code Online (Sandbox Code Playgroud)
但是如何在字符串的END处获得额外的空格?
请注意,我从gdata
包中听说过write.fwf 非常好但在这种情况下没有多大帮助,因为我需要为过时的旧程序编写一个非常具体的非标准格式.
Dir*_*tel 10
这几乎是标准的"C"而不是R问题,因为它与printf
格式字符串有关.您甚至可以在命令提示符下测试它:
edd@max:~$ printf "[% 8s]\n" foo
[ foo]
edd@max:~$ printf "[%-8s]\n" foo
[foo ]
edd@max:~$
Run Code Online (Sandbox Code Playgroud)
在R中,左边的填充效果相同:
R> vec <- c("fjdlksa01dada","rau","sjklf")
R> sprintf("% 8s", vec)
[1] "fjdlksa01dada" " rau" " sjklf"
R>
Run Code Online (Sandbox Code Playgroud)
并且对
R> sprintf("%-8s", vec)
[1] "fjdlksa01dada" "rau " "sjklf "
R>
Run Code Online (Sandbox Code Playgroud)
编辑:更新一次我更了解@ ran2实际要求的内容.
归档时间: |
|
查看次数: |
14021 次 |
最近记录: |