R语言入门 输出函数 cat、print、paste等区别理解

一、 简介

cat、print函数都是输出函数

> cat("hello world")
hello world
>> print("hello world")
[1] "hello world"

print的输出有点像列表输出的未命名元素

> alist=list(c(1,2,3,4,5),c('a','b','c','d','e'))
> alist
[[1]]
[1] 1 2 3 4 5
[[2]]
[1] "a" "b" "c" "d" "e"

二、 print与cat函数的差异

//测试返回值的差异
> x<-cat("hello world")	//赋值
hello world
> x						//cat函数无返回值
NULL
> y<-print("hello world")//赋值
[1] "hello world"
> y						//print函数有返回值
[1] "hello world"

cat()函数向控制台输出打印内容,函数没有返回值(=返回值为NULL);而print()函数在控制台输出打印的内容,同时返回输出内容。

有以下两个案例可以帮助理解他们之间的差异:

1. 玖-R语言关于cat以及print的事情

第一个案例说的是,用print函数对读取的文件(csv)内容进行输出,在进行输出的美化过程(不同输出结果空行)时,把函数内的转义符一同输出了(‘\n’)。
这一个现象还是因为在r里print用不了转义符,print函数直接在控制台输出需要打印的内容,包括字符、制表符,“转义符”,全部按原样输出

> print("hello world\n")
[1] "hello world\n"		//直接输出的转义符
> print("hello world\n    ")
[1] "hello world\n    "//这里是直接输入的	制表符

2. R语言学习记录之踩坑cat()、print()与ifelse()

第二个案例更多是说ifelse(test, yes, no)这个函数的用法(ifelse()函数要求yes和no至少为一个单值向量)。正因为是cat函数没有返回值不具备一个单值向量的条件,所以当ifelse语句逻辑判断test[1]为真,返回yes[1]的值时发现cat函数无返回值所以出错。而改成if() yes else(no)后,执行yes操作就不会出错了。

三、 paste函数

paste函数可以将任意数量的参数组合在一起

在控制台输入help(paste)得到帮助文档
R语言入门 输出函数 cat、print、paste等区别理解_第1张图片
… - 表示要组合的任何数量的参数。
sep - 表示任选的参数之间的分隔符。
collapse - 用于消除两个字符串之间的空间。

具体可以参考这篇文章(如何使用) R语言paste函数

你可能感兴趣的:(r语言学习)