是否有办法将一个值缩放为固定值,另一个值缩放到相应的缩放值。我无法在R中使用scale
方法,因为它需要一个范围。
例如,
ID X Y
1 25 25
2 20 40
3 10 50
4 50 20
我需要将Y值缩放到固定值100.相应地,X值应相应缩放。
ID X Y
1 100 100
2 50 100
3 20 100
4 250 100
答案 0 :(得分:3)
如果您的数据是
id <- c(1,2,3,4)
X <- c(25,20,10,50)
Y <- c(25,40,50,20)
df <- data.frame(id,X,Y)
你可以尝试
df$X <- df$X*100/df$Y
df$Y <- 100
# > df
# id X Y
# 1 1 100 100
# 2 2 50 100
# 3 3 20 100
# 4 4 250 100
答案 1 :(得分:0)
据推测,您也可以考虑快速查看scale
包中可用的base
函数。例如,如果您希望缩放部分数据框,可以:
data("mtcars")
test <- scale(x = mtcars[,2:ncol(mtcars)], scale = TRUE)
您可以轻松修改语法,进一步设置base
和centre
,以便获得的比例符合您的要求:
tst_mpg <- scale(x = mtcars$mpg, scale = 1, center = 0.5)