Beibehaltung des alten (vor 3.1.0) type.convert-Verhaltens

R 3.1.0 ist da und eine der neuen Funktionen ist die folgende:

type.convert() (und daher standardmäßigread.table()) gibt einen Zeichenvektor oder -faktor zurück, wenn eine numerische Eingabe als Doppelwert dargestellt wird, der an Genauigkeit verlieren würde. Ähnliches gilt für komplexe Eingaben.

Um ein Beispiel zu geben:

df <- read.table(text = "num1 num2
1.1 1.1234567890123456
2.2 2.2
3.3 3.3", header = TRUE)

sapply(df, class)
#      num1      num2 
# "numeric"  "factor"

während mit früheren Versionen,read.table hätte zwei numerische Spalten zurückgegeben.

Was kann getan werden, um das alte Verhalten derjenigen zu bewahren, die sich Sorgen um diese Veränderung machen, die mich mögen?

Hinweis: Ich hätte gerne eine allgemeine Lösung, bei der keine Annahmen zu den Eingabedaten getroffen werden, d. H. Ich würde nicht vorschlagen, diese zu verwendencolClasses = "numeric" im obigen Beispiel. Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage