从R中的文本文件和Web读取时的结果不同

时间:2014-10-20 17:04:03

标签: r web-scraping text-files analytics data-loss

www.exampleweb.com成为包含以下数据的网站:

...  
-3.7358293e+000
7.6062331e-001
6.0701401e+000
-1.6897975e+000
-2.1088811e+000
2.7172791e+000
-2.5477626e+000
...

1列,1000行 我以两种方式从本网站获取数据:
1.

con = url("www.exampleweb.com")  
data_from_html <- readLines(con)  
close(con) 

现在需要转换数据,因为

str(data_from_html)
chr [1:1000] " -2.9735888e+000" " -1.4757566e+000" "  8.6980880e-001" "  4.9502553e+000" ...  

所以:

converted <- as.numeric(data_from_html)
  1. 复制(ctrl + a)整个网站,并粘贴到.txt文件中。保存为&#34; my_data.txt&#34;。

    data_from_txt&lt; - read.table(&#34; my_data.txt&#34;)

  2. 现在,当我使用

    summary(converted)
        Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
    -16.2800  -1.5030  -0.0598  -0.1809   1.2220  13.0100   
    

    但另一方面:

    summary(data_from_txt)
           V1          
     Min.   :-16.2789  
     1st Qu.: -1.5026  
     Median : -0.0598  
     Mean   : -0.1809  
     3rd Qu.:  1.2217  
     Max.   : 13.0112  
    

    我无法确定哪一个更好,但我觉得从char转换为数字会导致数据丢失。我不知道如何预防它。我甚至检查了这些变量的头/尾,但它们具有相同的值:

    head(converted)
    
    [1] -2.9735888 -1.4757566  0.8698088  4.9502553 -4.3059115  0.9745958
    > tail(converted)
    [1] -3.007217 -4.600345 -3.740255  2.579664 -2.233819 -1.028491    
    
    head(data_from_txt)
              V1
    1 -2.9735888
    2 -1.4757566
    3  0.8698088
    4  4.9502553
    5 -4.3059115
    6  0.9745958
    > tail(data_from_txt)
                V1
    995  -3.007217
    996  -4.600345
    997  -3.740255
    998   2.579664
    999  -2.233819
    1000 -1.028491  
    

    如何处理?这是否意味着我永远不应该提供废料数据?如果我出于某种原因无法创建.txt文件怎么办?也许我开玩笑需要更好的数据转换方法?

0 个答案:

没有答案