将2列数据帧转换/组合为1列数据帧-R

时间:2017-09-04 15:50:31

标签: r

下面的脚本显示存储在两列data.frame

中的X,Y数据
a1 <- as.character(c(3456,2569))
a2 <- as.character(c(956,569))
a3 <- as.character(c(156,269))
mydf <- rbind(a1, a2, a3)

如何将其存储在data.frame中,其中一列格式为“X,Y”,并为每个X和Y(字符)添加零。

所以输出将是

"3456.000, 2569.000"
"956.000, 569.000"
"156.000, 269.000"

2 个答案:

答案 0 :(得分:1)

这样的事情可行:

data.frame(col1 = apply(mydf, 1, function(x) paste(paste0(x, '.000'), collapse = ', ')))
#                 col1
#a1 3456.000, 2569.000
#a2   956.000, 569.000
#a3   156.000, 269.000

apply遍历矩阵的每一行,首先用零(paste0)创建数字,然后将所有内容合并为一个逗号分隔的字符串(即paste)。

答案 1 :(得分:1)

所有数字都是整数,还是其中一些已经有小数点?如果它是后者,你可能想要做类似

的事情
sprintf("%.3f, %.3f", as.numeric(mydf[,1]), as.numeric(mydf[,2]))