合并R中的两个向量,转换为字符串

合并R中的两个向量,转换为字符串,r,R,在R中有两个数值向量 c(1,2,3,4,5) c(0.1,0.2,0.3,0.4,0.5) 我想将它们转换为字符串,组合起来,并应用格式,生成一个向量: c("1 (10.0%)", "2 (20.0%)", "3 (30.0%)", "4 (40.0%)", "5 (50.0%)") 对于我来说,解决方案的简单易懂比性能更重要。x这里有一个非常简单的实现: x<-c(1,2,3,4,5) y<-c(0.1,0.2,0.3,0.3,0.4,0.5) y <- paste

在R中有两个数值向量

c(1,2,3,4,5)
c(0.1,0.2,0.3,0.4,0.5)
我想将它们转换为字符串,组合起来,并应用格式,生成一个向量:

c("1 (10.0%)", "2 (20.0%)", "3 (30.0%)", "4 (40.0%)", "5 (50.0%)")

对于我来说,解决方案的简单易懂比性能更重要。

x这里有一个非常简单的实现:

x<-c(1,2,3,4,5)
y<-c(0.1,0.2,0.3,0.3,0.4,0.5)

y <- paste0(y * 100, "%")
result <- paste0(x," (", y, ")")
> num      <- c(1,2,3,4,5)
> pct      <- c(0.1,0.2,0.3,0.4,0.5)
> 
> pctChar  <- paste0("(", pct*100, "%", ")")
> char.out <- paste(num, pctChar)
> char.out
[1] "1 (10%)" "2 (20%)" "3 (30%)" "4 (40%)" "5 (50%)"
>num pct
>pctChar char.out char.out
[1] "1 (10%)" "2 (20%)" "3 (30%)" "4 (40%)" "5 (50%)"

请注意,默认情况下,
paste0()
不会在组件之间放置空格,而
paste()

(我删除了第二个
0.3
,我将其解释为输入错误。)我是否可以建议删除“[.0]”?如果12.5%的价格是0.125呢?我想我是傻了,@imsoconfused。我来换;-)。感谢您关于paste0 vs pasteOr all-in-one-shot的说明:
paste0(x,(“,y*100,”)”
。如果@juwiley想要保留小数点,那么请按照Ananda Mahto的建议尝试
paste0(x,“(”,sprintf,“%.1f”,y*100),”)
。很好,这是一个输入错误,它们实际上是相同的长度。现在编辑