0
这是家庭作业。正常化一个数据帧以在R中的第二个数据帧上应用的函数
我是R新手。
我有两个数据帧,每个数据帧包含两列数据。我必须找到一个函数,将两个列的第一个数据帧规格化为均值0和方差1。然后我想在第二个数据框上应用这个函数。
我曾尝试这样的:
my_scale_test <- function(x,y) {
apply(y, 2, function(x,y) {
(y - mean(x))/sd(x)
})
}
其中x是所述第一数据帧和y是被归一化的数据帧。
有人能帮助我吗?
编辑:
现在我已经尝试了这个藏汉,但不工作之一:
scale_func <- function(x,y) {
xmean <- mean(x)
xstd <- sd(x)
yout <- y
for (i in 1:length(x[1,]))
yout[,i] <- yout[,i] - xmean[i]
for (i in 1:length(x[1,]))
yout[,i] <- yout[,i]/xsd[i]
invisible(yout)
}
编辑2: 我发现MATLAB的这个工作函数(我试图在编辑翻译1) :
function [ Xout ] = scale(Xbase, Xin)
Xmean = mean(Xbase);
Xstd = std(Xbase);
Xout = Xin;
for i=1:length(Xbase(1,:))
Xout(:,i) = Xout(:,i) - Xmean(i);
end
for i=1:length(Xbase(1,:))
Xout(:,i) = Xout(:,i)/Xstd(i);
end
end
有人可以帮我翻译吗?
太感谢你了! – 2015-02-25 10:53:20