我有一个名为的数据集spam,其中包含 58 列和大约 3500 行与垃圾邮件相关的数据。
spam
我计划将来在这个数据集上运行一些线性回归,但我想事先进行一些预处理并将列标准化以具有零均值和单位方差。
有人告诉我最好的方法是使用 R,所以我想问一下 如何使用 R 实现标准化 ?我已经正确加载了数据,我只是在寻找一些包或方法来执行此任务。
我必须假设你的意思是说你想要一个 0 的平均值和一个 1 的标准差。如果你的数据在数据框中并且所有列都是数字,你可以简单地调用scale数据上的函数来做你想做的事。
scale
dat <- data.frame(x = rnorm(10, 30, .2), y = runif(10, 3, 5)) scaled.dat <- scale(dat) # check that we get mean of 0 and sd of 1 colMeans(scaled.dat) # faster version of apply(scaled.dat, 2, mean) apply(scaled.dat, 2, sd)
使用内置函数是优雅的。比如这只猫: