The NEWS file explains a change to the default behaviour for unrepresentable decimal numbers:
type.convert()
(and hence by defaultread.table()
) returns a character vector or factor when representing a numeric input as a double would lose accuracy. Similarly for complex inputs.If a file contains numeric data with unrepresentable numbers of decimal places that are intended to be read as numeric, specify colClasses in
read.table()
to be "numeric".
Your numbers have 18 decimal places, doubles can only accurately represent about 15.