jf328
jf328

Reputation: 7351

R data.table fread: specify column data type

Is it possible to specify the data type of numeric columns in fread? Commands like

prices = markets[, fread(paste(mkt, 'price.csv')), by = mkt]

will fail if price data are integers in one file and floats in another.

So instead of a clean one-liner, I have to explicitly write a for-loop and cast the data type to numeric and concatenate the results.

Upvotes: 7

Views: 7325

Answers (2)

DmitriBolt
DmitriBolt

Reputation: 647

I would suggest using the syntax

df <- fread("https://query.data.world/s/2uapynn5a5afd5dfsyaljlzhbwxoyz", colClasses=c("age" = "numeric", "job"="factor"))

The explicit specification of the variable name is more reliable.

Upvotes: 5

Humpelstielzchen
Humpelstielzchen

Reputation: 6441

You can use the colClasses = argument.

fread("mytable.csv", colClasses = c("character", "character", "numeric"))

Upvotes: 5

Related Questions