Wednesday, September 24, 2014

R中如何实现格式化输出的小知识点

假设有1 2 3 6位的数字 不足六位的前面加0,格式化输出,怎么能实现?
实现一:
substr(as.character(1:10+1000000),2,7)
[1] "000001" "000002" "000003""000004" "000005" "000006" "000007""000008" "000009" "000010"
实现二:
sprintf("%06.f",1:3)
[1] "000001" "000002" "000003"
扩展:
1、任务编程中,通常需要指定的格式。R能有效的控制字符串格式,通过函数sprintf可以实现。
2Sprintf继承自C语言中的同名函数,经过封装,在R环境中的实现。
3Sprintf:String_print_format
4、用法:sprintf(fmt,...) 
5、参数fmt,格式表征,为字符串,最大长度8192字节。定义了实现语法,由字符%起始,aAdifeEgGosxX%(其中任意一个)结束,更多详细的解释清参照文档。
6、解决方案实例解释:
%06.f:
%   开始符
0   是"填空字元"表示,如果长度不足时就用0来填满。
6   格式化后总长度
f   浮点数,小数位长度可以通过数字控制,如2f2

No comments:

Post a Comment