paste
位于 base
包(package)。 说明
转换为字符后连接向量。
用法
paste (..., sep = " ", collapse = NULL, recycle0 = FALSE)
paste0(..., collapse = NULL, recycle0 = FALSE)
参数
... |
一个或多个R对象,要转换为字符向量。 |
sep |
用于分隔术语的字符串。不是 |
collapse |
用于分隔结果的可选字符串。不是 |
recycle0 |
|
细节
paste
将其参数(通过 as.character
)转换为字符串,并将它们连接起来(用 sep
给出的字符串分隔它们)。如果参数是向量,则它们将逐项连接以给出字符向量结果。向量参数根据需要回收,仅当 recycle0
不为 true 或 collapse
不是 NULL
时,零长度参数才会回收到 ""
。
请注意, paste()
将字符缺失值 NA_character_
强制转换为 "NA"
,这可能看起来不合需要,例如在粘贴两个字符向量时,或者非常合需要,例如在paste("the value of p is ", p)
中。
paste0(..., collapse)
相当于 paste(..., sep = "", collapse)
,效率稍高一些。
如果为 collapse
指定了值,则结果中的值将连接成单个字符串,其中元素由 collapse
的值分隔。
值
连接值的字符向量。如果所有对象都是长度,则其长度为零,除非 collapse
为非 NULL,在这种情况下它是 ""
(单个空字符串)。
如果结果元素的任何输入都是 UTF-8 格式(并且没有使用 "bytes"
编码进行声明,请参阅 Encoding
),则该元素将采用 UTF-8 格式,否则采用当前编码,在这种情况下,编码将采用如果当前语言环境是 Latin-1 或 UTF-8,则声明该元素的 ,至少一个相应的输入(包括分隔符)具有声明的编码,并且所有输入都是 ASCII 或声明的。
如果使用编码 "bytes"
声明元素的输入,则不会对任何元素进行任何转换,并且生成的元素将具有编码 "bytes"
。如果 collapse
为非 NULL,则这也适用于第二个折叠阶段,但在第一阶段将对象粘贴在一起时可能已完成一些转换。
例子
## When passing a single vector, paste0 and paste work like as.character.
paste0(1:12)
paste(1:12) # same
as.character(1:12) # same
## If you pass several vectors to paste0, they are concatenated in a
## vectorized way.
(nth <- paste0(1:12, c("st", "nd", "rd", rep("th", 9))))
## paste works the same, but separates each input with a space.
## Notice that the recycling rules make every input as long as the longest input.
paste(month.abb, "is the", nth, "month of the year.")
paste(month.abb, letters)
## You can change the separator by passing a sep argument
## which can be multiple characters.
paste(month.abb, "is the", nth, "month of the year.", sep = "_*_")
## To collapse the output into a single string, pass a collapse argument.
paste0(nth, collapse = ", ")
## For inputs of length 1, use the sep argument rather than collapse
paste("1st", "2nd", "3rd", collapse = ", ") # probably not what you wanted
paste("1st", "2nd", "3rd", sep = ", ")
## You can combine the sep and collapse arguments together.
paste(month.abb, nth, sep = ": ", collapse = "; ")
## Using paste() in combination with strwrap() can be useful
## for dealing with long strings.
(title <- paste(strwrap(
"Stopping distance of cars (ft) vs. speed (mph) from Ezekiel (1930)",
width = 30), collapse = "\n"))
plot(dist ~ speed, cars, main = title)
## 'recycle0 = TRUE' allows more vectorized behaviour, i.e. zero-length recycling :
valid <- FALSE
val <- pi
paste("The value is", val[valid], "-- not so good!")
paste("The value is", val[valid], "-- good: empty!", recycle0=TRUE) # -> character(0)
## When 'collapse = <string>', the result is a length-1 string :
paste("foo", {}, "bar", collapse="|") # |--> "foo bar"
paste("foo", {}, "bar", collapse="|", recycle0 = TRUE) # |--> ""
## all empty args
paste( collapse="|") # |--> "" as do all these:
paste( collapse="|", recycle0 = TRUE)
paste({}, collapse="|")
paste({}, collapse="|", recycle0 = TRUE)
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
toString
通常调用 paste(*, collapse=", ")
。使用 as.character
、 substr
、 nchar
、 strsplit
进行字符串操作;此外,cat
连接并写入文件,sprintf
用于类似 C 的字符串构造。
‘plotmath’用于在绘图注释中使用paste
。
相关用法
- R parse 解析 R 表达式
- R path.expand 展开文件路径
- R pushBack 将文本推回连接
- R plot 通用 X-Y 绘图
- R prod 向量元素的乘积
- R print 打印值
- R print.default 默认打印
- R pipeOp 前向管道操作符
- R polyroot 求实数或复数多项式的零点
- R pos.to.env 将搜索路径中的位置转换为环境
- R pmatch 部分字符串匹配
- R print.data.frame 打印 DataFrame
- R proc.time R的运行时间
- R prmatrix 打印矩阵,旧式
- R proportions 将表条目表示为边表的分数
- R pcre_config PCRE 的报告配置选项
- R pretty 漂亮的断点
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Concatenate Strings。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。