Learn R Programming

rtemis (version 1.4.3)

dt_set_autotypes: Set column types automatically

Description

Inspects a data.table, identifies columns that hold numbers but were read as character, and converts their type in-place. Such columns arise, for example, when one or more fields contain non-numeric characters.

Usage

dt_set_autotypes(x, cols = NULL, verbosity = 1L)

Value

data.table, invisibly.

Arguments

x

data.table: Input data.table. Will be modified in-place, if needed.

cols

Character vector: columns to work on. If not defined, will work on all columns

verbosity

Integer: Verbosity level.

Author

EDG

Examples

Run this code
library(data.table)
x <- data.table(
  id = 8001:8006,
  a = c("3", "5", "undefined", "21", "4", NA),
  b = c("mango", "banana", "tangerine", NA, "apple", "kiwi"),
  c = c(1, 2, 3, 4, 5, 6)
)
str(x)
# ***in-place*** operation means no assignment is needed
dt_set_autotypes(x)
str(x)

# Try excluding column 'a' from autotyping
x <- data.table(
  id = 8001:8006,
  a = c("3", "5", "undefined", "21", "4", NA),
  b = c("mango", "banana", "tangerine", NA, "apple", "kiwi"),
  c = c(1, 2, 3, 4, 5, 6)
)
str(x)
# exclude column 'a' from autotyping
dt_set_autotypes(x, cols = setdiff(names(x), "a"))
str(x)

Run the code above in your browser using DataLab