如何使用函数R sweep在R中,我想使用函数sweep。我不想使用mean和sd进行扩展,而是使用min和max。我想用一个矩阵来计算这个yi = (xi - min(x)) / (max(x) - min(x))。我不知道该怎么办,谢谢你的回答?
sweep
mean
sd
min
max
yi = (xi - min(x)) / (max(x) - min(x))
pobjuy321#
如何做到这一点:
dat <- data.matrix(iris) apply(dat, 2, \(x)(x - min(x))/(max(x) - min(x)))
r <- matrixStats::colRanges(dat) scale(dat, r[,1], diff(t(r))
sapply(data.frame(dat), scales::rescale)
我非常怀疑sweep是否可以用于这个特定的问题
gywdnpxw2#
您可能正在查找apply,例如:下面是如何在矩阵的每一列上使用缩放:
apply
m <- matrix(runif(25), nc = 5) my_scale <- function(v) (v - min(v)) / (max(v) - min(v)) m_scaled <- apply(m, 2, FUN = my_scale)
2条答案
按热度按时间pobjuy321#
如何做到这一点:
1:
2:
三:
我非常怀疑
sweep
是否可以用于这个特定的问题gywdnpxw2#
您可能正在查找
apply
,例如:下面是如何在矩阵的每一列上使用缩放: