将Char Matrix转换为Numeric,避免以科学计数法显示

时间:2017-01-26 21:35:11

标签: r matrix

我有一个非常大的坐标数据集。当我导入它们时,R将它们变成了字符。当我尝试将矩阵转换为数字矩阵时,R将我的纵向值转换为科学记数法。

举个例子,

head(locations)

        Long         Lat       
[1,] "-120.5215"  "34.5318" 
[2,] "-120.86726" "35.36824"
[3,] "-120.86726" "35.36824"
[4,] "-120.86726" "35.36824"

使用as.numeric函数R将我的纵向值返回科学计数法。

locations <- apply(locations,  c(1, 2),as.numeric)
head(locations)

         Long       Lat
  [1,] -1.205215e+02 34.53180
  [2,] -1.208673e+02 35.36824
  [3,] -1.208673e+02 35.36824
  [4,] -1.208673e+02 35.36824

如何让R将这个非数字矩阵转换为数字没有它会搞乱坐标格式?

1 个答案:

答案 0 :(得分:1)

我明白了!如果其他人遇到同样的问题,这就是我使用的代码:

>test #non-numeric matrix
    long        lat      
[1,] "-112.16442" "39.5934" 
[2,] "-110.61798" "35.76698"
[3,] "-110.20331" "39.87408"

>apply(test, 2,as.numeric) #Numeric-matrix

         longs     lats
[1,] -122.1644 37.29340
[2,] -120.6180 37.76898
[3,] -121.2033 34.86808

并没有破坏格式。 Yey。