摆脱R中粘贴功能中多余的sep

时间:2019-06-21 14:27:16

标签: r

我试图摆脱R中paste函数中多余的l1-l3。 看起来很简单,但是我找不到一种解决方法。假设l1 = list(a=1) l2 = list(b=2) l3 = list(c=3) l4 = list(l1,l2=l2,l3=l3) 是列表

l4

请注意,names(l4 ) = paste('Name',names(l4),sep = '.') 的第一个元素未命名。现在,我想为以下名称添加一个常量:

 names(l4)
[1] "Name."   "Name.l2" "Name.l3"

以下是输出:

.

如何摆脱第一个输出(Name.)中的{{1}}

1 个答案:

答案 0 :(得分:3)

我们可以使用trimws(来自R 3.6.0-可以使用自定义字符指定whitespace

trimws(paste('Name',names(l4),sep = '.'), whitespace = "\\.")
#[1] "Name"    "Name.l2" "Name.l3"

或者用sub来匹配..是任何字符的元字符,因此我们在结尾处{\\转义以获取字面意思) {1}}),并替换为空白($

""

如果sub("\\.$", "", paste('Name',names(l4),sep = '.')) 末尾已经有.,我们可以使用索引选项

names