我想在R/R Studio中在特定范围(1到20(之间重新缩放数据帧的多列。虽然我可以让它为一个专栏工作,但我似乎无法让它为多个专栏工作。实际数据包含许多列,因此如果可能的话,某种索引将是理想的。我确信这可能是一些简单的事情,但似乎无法弄清楚我错过了什么。如有任何帮助,我们将不胜感激。感谢
# This works on a single column
library(scales)
single = c(100,90,80,70,60,50,40,30,20,10)
rescale(single , to=c(1,20))
# This does not work
library(scales)
multiple = data.frame(V0 = c("A","B","C","D","E","F", "G", "H", "I", "J"),
V1= c(1,2,3,4,5,6,7,8,9,10),
V2= c(100,90,80,70,60,50,40,30,20,10)
)
rescale(multiple[,c(2,3)], to=c(1,20))
您正在寻找:
multiple[,c(2,3)] <-lapply(multiple[,c(2,3)], rescale, to=c(1,20))