数据帧到矩阵没有填充数字

时间:2015-12-12 17:05:46

标签: r matrix

将数据帧转换为矩阵时,R会将空格填充到数字列中:

> d=data.frame(x=c(10000,1),a=c("a","bbbbb"))
> as.matrix(d)
     x       a      
[1,] "10000" "a"    
[2,] "    1" "bbbbb"

as.matrix.data.frame的源代码显示这是因为它使用format转换为字符(而不是as.character),因此您得到:

> format(d$x)
[1] "10000" "    1"

而不是

> as.character(d$x)
[1] "10000" "1"    

字符列未使用格式进行格式化,因此不会填充。

有没有简单的方法将DF转换为没有填充的矩阵?比在它上面运行str_trim更好吗?

1 个答案:

答案 0 :(得分:0)

这似乎可行:

as.matrix(format(d, trim=T))

#   x       a      
# 1 "10000" "a"    
# 2 "1"     "bbbbb"