可以添加特殊字符并将多个列粘贴到单个列中
例如
col1 col2 col3
1.01 0.98 1.23
要
final_col
1.01(0.98-1.23)
我知道粘贴功能有“sep”选项在列之间添加字符, 粘贴(col2,col3,sep =“ - ”)
但我坚持添加括号,可以完全完成。
感谢您的建议
答案 0 :(得分:1)
你可以尝试
do.call(sprintf, c(df1, fmt='%g(%g-%g)'))
#[1] "1.01(0.98-1.23)" "0.2(1.3-1.2)"
或者
with(df1, paste0(col1,'(', col2, '-', col3, ')'))
#[1] "1.01(0.98-1.23)" "0.2(1.3-1.2)"
df1 <- data.frame(col1=c(1.01,0.2), col2=c(0.98, 1.3),
col3=c(1.23, 1.2))
答案 1 :(得分:1)
另一种选择:
paste0(dx[,1],'(',paste0(dx[,-1],collapse='-'),')')
## [1] "1.01(0.98-1.23)"