XORing для улучшения хэша

Если вы будете использовать пакет data.table для операций над data.frame, тогда проблемы нет.

library(data.table)
dt = data.table(col1 = c("a","b","c"), col2 = 1:3)
sapply(dt, class)
#       col1        col2 
#"character"   "integer" 

Если у вас уже есть столбцы факторов в вашем наборе данных и вы хотите преобразовать их в символ, вы можете сделать следующее.

library(data.table)
dt = data.table(col1 = factor(c("a","b","c")), col2 = 1:3)
sapply(dt, class)
#     col1      col2 
# "factor" "integer" 
upd.cols = sapply(dt, is.factor)
dt[, names(dt)[upd.cols] := lapply(.SD, as.character), .SDcols = upd.cols]
sapply(dt, class)
#       col1        col2 
#"character"   "integer" 
0
задан Mandroid 17 January 2019 в 10:49
поделиться