【发布时间】:2021-04-21 17:16:49
【问题描述】:
我正在使用 R 编程语言。我正在尝试对我创建的一些数据使用“缩放”功能:
a =rnorm(100,10,10)
b = rnorm(100,10,5)
c <- sample( LETTERS[1:4], 100 , replace=TRUE, prob=c(0.25, 0.22, 0.25, 0.25) )
d = data.frame(a,b,c)
d$c = as.factor(d$c)
我只想在这个数据集中的前两列上使用“缩放”功能:
e = scale(d[,1:2])
但是,这会返回一个只有两列的数据集。我想在前两列上使用“比例”功能,并保持最后一列不变。也就是说,最终的数据集“e”应该有3列。
有没有办法只对前两列应用“缩放”功能?
谢谢
注意:
当然,我可以手动操作:
d$a = scale(d$a)
d$b = scale(d$b)
但我正在寻找一种同时在多个列上应用“缩放”功能的方法。有谁知道怎么做?
【问题讨论】:
-
d[1:2] <- lapply(d[1:2], scale)? -
我现在就试试这个!如果你有时间,你能看看这个问题吗? stackoverflow.com/questions/65757562/…谢谢!
标签: r function scale data-manipulation