下面的脚本显示存储在两列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"
答案 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]))