在R data.table中,如何使用训练集的均值和标准差标准化测试集

Wei Xie

我遇到了R data.table,它的功能给我留下了深刻的印象。我正在尝试应用我从Python / Scikit学到的知识。更具体地说,我尝试使用训练集的均值和标准差对测试集进行标准化。

# my training set
my_dt <- as.data.table(data.frame(list(a=c(1,2,3), b=c(3,4,5))))
# my testing set
my_dt2 <- as.data.table(data.frame(list(a=c(4,5,6), b=c(7,8,9))))

cols <- colnames(my_dt)

# I calculate the column means and standard deviation
my_dt_colmean <- my_dt[,lapply(.SD, mean), .SDcols=cols]
my_dt_colsd <- my_dt[,lapply(.SD, sd), .SDcols=cols]

# How to apply to the testing set. I tried to use the following but it is not correct.
my_dt2[, lapply(.SD, function(x) (x - my_dt_colmean[x])/my_dt_colsd[x]), .SDcols=cols]

感谢您的帮助!

阿克伦

在这里,我们可以利用 Map

my_dt2[, Map(f1, .SD, my_dt_colmean, my_dt_colsd), .SDcols = cols]
#   a b
#1: 2 3
#2: 3 4
#3: 4 5

这里f1

f1 <- function(x, y, z) (x - y)/z

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 R 中使用 data.table() 和 dplyr() 按月对多级数据进行子集化和汇总(总和、均值和标准差)

插值数据集的均值和标准差 (R)

使用data.table的行均值和标准差

如何在data.table中创建均值和标准差列

如何使用 R 中的均值和标准差替换缺失值?

仅使用均值和标准差信息在 R 中绘制密度图

R:如何在给定其他数据帧(训练集)的值的情况下标准化一个数据帧(测试集)

在R?中的data.frame中标准化和重命名变量?

R:每个受试者的均值,方差和标准差列

使用count(),aggregate(),data.table()或dplyr()汇总数据(均值,标准差)

如何在R中排除均值和标准差计算的月份

在 R 中的图表上绘制均值和标准差的问题

计算R中不同组之间的均值和标准差

将某些列重新调整为 R 中的特定均值和标准差

R dplyr 使用 group_by 汇总平均值和标准差

R中的函数:如何在同一函数中返回均值,中位数,标准差

R-具有基于标准的NA的数据帧的均值和标准差

如何找到R中的累积方差或标准差

如何用R标记正态曲线上的平均值和三个标准差

查找行的均值和标准差,直到R中的组的下一个NA值

R,bit64,计算数据中的行均值和标准差时遇到问题。

在R中分别获取正值和负值的列式均值和标准差

用“最优”函数估计R.problem中正态分布的均值和标准差

使用数据集的均值和标准差归一化图像

使用R中的测试和训练集执行SVM回归

在 R 中重新排序/标准化和创建行

标准化R中的数据列

标准化R中每行的数据

使用dplyr标准化变量[r]