preservar el comportamiento de conversión de tipo antiguo (anterior a 3.1.0)

R 3.1.0 está fuera y una de las nuevas características es la siguiente:

type.convert() (y por lo tanto por defectoread.table()) devuelve un vector o factor de caracteres cuando representa una entrada numérica ya que un doble perdería precisión. Del mismo modo para entradas complejas.

Para dar un ejemplo:

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"

mientras que con versiones anteriores,read.table habría devuelto dos columnas numéricas.

Para aquellos a quienes les agrado ese cambio, ¿qué se puede hacer para preservar el comportamiento anterior?

Nota: Me gustaría una solución general que no haga suposiciones sobre los datos de entrada, es decir, no sugiera que usecolClasses = "numeric" en el ejemplo de arriba. Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta