在R中使用不同的归一化方法

在R中使用不同的归一化方法,r,normalization,R,Normalization,大约6个月前,我使用名为Predixion的软件运行了一个k-means聚类算法。我写了一个R脚本,希望能重现Predixion的相同结果。然而,结果却大不相同。我相信结果是不同的,因为我们标准化数据的方式不同。我需要能够为每个列使用不同的规范化方法 account = c("A","B","C", "D","E") var_num1= c(67,69,71,33,19) var_num2= c(7175,12018, 6075, 3128, 4002) var_percent= c(.22,.

大约6个月前,我使用名为Predixion的软件运行了一个k-means聚类算法。我写了一个R脚本,希望能重现Predixion的相同结果。然而,结果却大不相同。我相信结果是不同的,因为我们标准化数据的方式不同。我需要能够为每个列使用不同的规范化方法

account = c("A","B","C", "D","E")
var_num1= c(67,69,71,33,19)
var_num2= c(7175,12018, 6075, 3128, 4002)
var_percent= c(.22,.57,.33,.87,.62)
df = data.frame(account, var_num1,var_num2, var_percent)
我想对“var_num1”列使用日志规范化。我想对“var_num2”和“var_percent”列使用最小/最大规格化

谢谢您的帮助。

您是否尝试过:

df$var_num1 <- scale(df$var_num1)

df$var\u num1所以。。。到目前为止你(在R)试过什么?您的预期输出是什么?对于其他集群项目,我只使用了:
df=scale(df)
Yes,这很有意义。但是,我想知道如何在scale()函数之外编写其他标准化方法。我编辑了上面的答案,并添加了一个最小/最大标准化。希望这能完全回答你的问题。非常感谢。您熟悉日志规范化吗?您知道如何对1列执行此操作吗?
log2(df$var\u num1)
:)
df$var_num1_minmax <- lapply(df$var_num1, function(x) (x-min(df$var_num1))/(max(df$var_num1)-min(df$var_num1)))