假设我有以下数据:
a <- data.frame(var1=letters,var2=runif(26))
假设我想缩放每个值,var2
使var2
列的总和等于 1(基本上将 var2 列转换为概率分布)
我尝试了以下方法:
a$var2 <- lapply(a$var2,function(x) (x-min(a$var2))/(max(a$var2)-min(a$var2)))
这不仅给出了大于 1 的总和,而且还将该var2
列变成了一个列表,我不能在该列表上执行类似的操作sum
有没有任何有效的方法可以将此列转换为概率分布?