字符串格式化输出函数主要有以下函数:
- sprintf
- sink
- cat
- strtrim
- strwap
sprintf
用%s替代字符串
name <- 'max'
sprintf('my name is %s',name)
[1] "my name is max"
用%d替代整数
age <- 18
sprintf('age:%d',age)
[1] "age:18"
d前面添加数字n,可以添加n-替代数字位数的空格
sprintf('age:%3d',age)
[1] "age: 18"
d前面添加0加上数字n,可以添加n-替代数字位数的0
sprintf('age:%07d',age)
[1] "age:0000018"
用%f替代浮点数
%m.nf
m控制输出字符宽度
n控制小数点
#保留5位小数点
sprintf('%.5f',pi)
[1] "3.14159"
后置%%,代表百分比
sprintf("percent:99 %%")
[1] "percent:99 %"
sink
使用sink函数可以定向将内容输出至指定文件
#指定输出文件
sink("hello.txt")
#输入内容
cat("hello")
#退出sink
sink()
cat
用cat函数格式输出,内容更加简洁
a <- c(1,2,3,4)
a
[1] 1 2 3 4
print(a)
[1] 1 2 3 4
#输出结果不显示[1]
cat(a)
1 2 3 4
#一些R包常常用cat函数输出横线区隔输出结果
#乃至利用cat函数制作输出三线表
cat("=============================\n")
=============================
strtrim
strtrim函数控制字符串的显示宽度,strtrim(x, width)该函数返回的字符串向量的长度等于参数x的长度。
x <- c('asdf','asdfgh','asdfghj')
#第一个元素输出1位,余下分别为2,3位
strtrim(x,width = c(1,2,3))
[1] "a" "as" "asd"
strwrap
strwrap会把字符串将做一整段处理,忽略其中的换行符(\n),同时可以控制段落缩进以及分行。
strwrap(x, width, indent= 0, exdent= 0, prefix= , simplify= T, initial= prefix)
para <- 'my name is max \n my age is 18 \n my sex is male'
para
[1] "my name is max \n my age is 18 \n my sex is male"
#用cat函数输出会响应换行符
cat(para)
my name is max
my age is 18
my sex is male
#用strwap函数忽略换行符
strwrap(para)
[1] "my name is max my age is 18 my sex is male"
#添加width参数控制每段的宽度
strwrap(para,width = 15)
[1] "my name is max" "my age is 18" "my sex is male"
#indent控制首行缩进
#exdent控制除了首行之外的缩进
strwrap(para,width = 15,indent = 4,exdent = 6)
[1] " my name is" " max my" " age is" " 18 my"
[5] " sex is" " male"
#prefix参数添加每段前缀
strwrap(para,width = 15,prefix = '======')
[1] "======my name" "======is max" "======my age" "======is 18 my"
[5] "======sex is" "======male"