连接字符串与cat
和paste
有什么区别?
特别是,我有以下问题。
"
的结果时不使用双引号(cat
)(但在使用paste
时它使用引号)?
> cat("test")
test
> paste("test")
[1] "test"
length
和mode
,它们是R中几乎所有对象都可用的函数,而不是在cat
上“工作”?
> length(cat("test"))
test[1] 0
> mode(cat("test"))
test[1] "NULL"
cat
一起使用,而不是paste
?
> cat("1)Line1\n 2)Line2\n 3)Line3")
1)Line1
2)Line2
3)Line3
> paste("1)Line1\n 2)Line2\n 3)Line3")
[1] "1)Line1\n 2)Line2\n 3)Line3"
cat
?
> cat("Grade", c(2, 3, 4, 5))
Grade 2 3 4 5
> paste("Grade", c(2, 3, 4, 5))
[1] "Grade 2" "Grade 3" "Grade 4" "Grade 5"
cat
和paste
将用于非常不同的情况。
paste
不是print
当你paste
的东西,并没有将它分配给任何东西,它变成一个character
变量,使用print
,print.default
的默认方法,因此引号,等等。你可以看看帮助character
理解如何修改输出的样子。
print.default
不会在字符串中评估print.default
等转义字符。看看这个\n
的答案,了解如何捕获question的输出。
引用cat
(cat
)易于阅读的帮助
连接和打印
Description
输出对象,连接表示。
?cat
比cat
执行的转换要少得多。...
Details
cat
向量,将它们连接到单个character
向量,将给定的character
附加到每个元素,然后输出它们。Value
没有(看不见的
sep= string(s)
)。
NULL
不会返回任何内容,它只会输出到控制台或其他连接。
因此,如果你试图运行cat
或length(cat('x'))
,你运行mode(cat('x'))
或mode(NULL)
,它将返回length(NULL)
。
粘贴的帮助同样有用且具有描述性
连接字符串
Description
转换为
NULL
后连接向量。....
Value
连接值的
character
向量。如果所有对象都是,则长度为零,除非折叠是非character
,在这种情况下它是单个空字符串。