R语言caret包preProcess()标准化出现错误: Matrices or data frames are required for preprocessing

原因

数据是AsIs格式的,默认为一列了,关于AsIs参考如下博客

https://blog.csdn.net/weixin_48172266/article/details/117747605?spm=1001.2014.3001.5502

R语言里面“AsIs“到底是啥,用的时候咋处理

例子,hdi包里的riboflavin数据集,其中riboflavin$x为“AsIs“格式数据。

library(hdi)
 preProcValues = preProcess(riboflavin$x, method = c("center", "scale"))

解决方法

用unclass()函数先解开

 preProcValues = preProcess(unclass(riboflavin$x), method = c("center", "scale"))

你可能感兴趣的:(R,r语言,caret,preProcess标准化,preprocess,Matrices)