为什么preProcess在缩放所有列时会忽略某些列?

时间:2018-02-11 16:01:45

标签: r r-caret preprocessor r-haven

我有一个数据集 - 任何地方都没有丢失值。我使用软件包'haven'将其读入R - 文件本身是一个SPSS文件“.sav” - 所以我使用了“read_sav”。

我想使用插入符号的预处理标准化所有数字列。 重要提示:这是我的一些专栏的结构:

> str(md$perc_51)
Class 'labelled'  atomic [1:2259] 4 3 5 5 5 3 5 5 4 4 ...
  ..- attr(*, "labels")= Named num [1:5] 1 2 3 4 5
  .. ..- attr(*, "names")= chr [1:5] "Strongly Disagree" "Disagree" "Neither agree nor disagree" "Agree" ...

其他一些列的结构如下:

> str(md$Purchase12mTab)
 num [1:2259] 0 0 0 0 1 0 1 0 1 0 ...

现在,我尝试缩放数据集中的所有变量:

transfParams <- preProcess(md[-1:-2], method = c("center", "scale"))
transformed <- predict(transfParams, md[-1:-2])

当我检查结果时,我发现只有结构只是'num'的列才被缩放。所有标记的列都保持不变。

我很惊讶 - 是否存在某种不成文的规则,只有未标记的列才会被处理?或者是插入符和避难所之间是否存在冲突?

0 个答案:

没有答案