合并R中的两个向量,转换为字符串
在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
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),”)
。很好,这是一个输入错误,它们实际上是相同的长度。现在编辑