Ich habe einen Dump von einer Datenbank in Form einer HTML-Tabelle. Mein Problem ist, dass es Komma als Dezimalzeichen verwendet und ich kann nicht lesenHTMLTable, um es richtig zu behandeln. Die Werte enden als Faktor anstelle von numerisch. Dies könnte extern gelöst werden, aber ich würde es gerne in R.Lesen von Daten mit Dezimal Komma mit readHTMLTable
Ich habe versucht, dec=","
in der Hoffnung, dass die Elipsis würde es in der Ausführungsleitung übergeben, aber es hat nicht funktioniert.
Next trest wurde von der Hilfe für readHTMLTable inspiriert habe ich versucht, elFun
library(XML)
tryAsNumeric <- function(node) {
val = xmlValue(node)
ans = as.numeric(gsub(",", ".", val))
if(is.numeric(ans))
ans
else
val
}
tmp_list <- readHTMLTable("teeChart.xls", elFun = tryAsNumeric)
mit und endete mit dieser Nachricht
There were 50 or more warnings (use warnings() to see the first 50)
> warnings()
Warning messages:
1: In (function (node) ... : NAs introduced by coercion
2: In (function (node) ... : NAs introduced by coercion
3: In (function (node) ... : NAs introduced by coercion
4: In (function (node) ... : NAs introduced by coercion
Verkürzte Liste der Kürze.
Hier ist eine reduzierte Tabelle für die Reproduzierbarkeit. (TeeChart.xls)
<table border="1">
<tr><td></td><td>Lägenhet 053</td><td></td><td>Lägenhet 054</td><td></td><td>Lägenhet 055</td><td></td></tr>
<tr><td>Index</td><td>X</td><td>Y</td><td>X</td><td>Y</td><td>X</td><td>Y</td></tr>
<tr><td>0</td><td>42309</td><td>20,8249988555908</td><td>42309</td><td>20,2000007629395</td><td>42309</td><td>22,2000007629395</td></tr>
<tr><td>1</td><td>42309,0416666667</td><td>20,7000007629395</td><td>42309,0416666667</td><td>20,2000007629395</td><td>42309,0416666667</td><td>22,125</td></tr>
<tr><td>2</td><td>42309,0833333333</td><td>20,6000003814697</td><td>42309,0833333333</td><td>20,2000007629395</td><td>42309,0833333333</td><td>22,0249996185303</td></tr>
</table>
colClasses scheint das Problem mit numerischen vs Faktor zu lösen. Trotzdem bekomme ich all diese Warnungen über die Einführung von NA in Zwang. Ich kenne auch nicht die Anzahl der Variablen für den Rep in der gesamten Datenbank. –
Imho vergessen Sie 'readHTMLTable' und tun Sie es" Old School "- siehe meine Bearbeitung. – lukeA