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.