0

クラスを失うことなく、データ テーブル内のすべての値を変換したいと考えています。

アイリスデータセットを使用した例

  library(datasets)
  library(dplyr)
  data(iris)

  iris <- iris %>% as.data.table()
  iris[2:3, 5] <- "SeToSa" 

  iris %>% str

  iris2 <- copy(iris)
  iris <- iris[, lapply(.SD, function(x)(tolower(x)))]

また

  iris2 <- iris2[, lapply(.SD, function(x)(ifelse(is.factor(x), tolower(x), x)))]

  iris %>% str  

ただし、これらの試行のいずれも、各列のクラスを維持できません。さらに、属性が存在する場合は属性を失います。

要するに、各列の特性 (クラス、属性) を失うことなく、データ テーブルでlapplyを使用できる方法はありますか?

4

1 に答える 1