添加特殊字符并合并数据帧R中的值

时间:2015-03-27 11:14:02

标签: r

可以添加特殊字符并将多个列粘贴到单个列中

例如

col1 col2 col3
1.01 0.98 1.23

final_col
1.01(0.98-1.23)

我知道粘贴功能有“sep”选项在列之间添加字符, 粘贴(col2,col3,sep =“ - ”)

但我坚持添加括号,可以完全完成。

感谢您的建议

2 个答案:

答案 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)"