将数据帧转换为矩阵时,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
更好吗?
答案 0 :(得分:0)
这似乎可行:
as.matrix(format(d, trim=T))
# x a
# 1 "10000" "a"
# 2 "1" "bbbbb"