R使用最大值规范化数据框列
R normalize dataframe column using max
R新手
我看过一些关于创建函数以根据标准差等对数据进行归一化的帖子。但我的问题有点不同。
我有一个大数据框。我要一个。找到数据集中所有名称的平均值。 b.根据最大值对平均值进行归一化。示例数据:
df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4))
得到我的平均值:
meanValue <-aggregate(value ~name, data=df, mean)
输出应该是:
df<- data.frame(name=c("lauren", "max", "pat"), normalizedMean=c(.5, .5, 1))
但我一直在研究如何获取最大值并在相应的 df 数据帧中创建一个新变量。我知道这是一个应用函数,但我怀疑聚合可以在这里组合。
我认为您发布的最终解决方案并不完全是标准化值。它应该是 c(0,0,1)
df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4))
meanValue <-aggregate(value ~name, data=df, mean)
min_val<-min(meanValue$value)
max_val<-max(meanValue$value)
meanValue$normalizedMean<-(meanValue$value-min_val)/(max_val-min_val) #normalizing
meanValue
怎么样
df<- data.frame(name=df$name,
normalizedMean=meanValue$value/max(meanValue$value))
?
R新手
我看过一些关于创建函数以根据标准差等对数据进行归一化的帖子。但我的问题有点不同。
我有一个大数据框。我要一个。找到数据集中所有名称的平均值。 b.根据最大值对平均值进行归一化。示例数据:
df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4))
得到我的平均值:
meanValue <-aggregate(value ~name, data=df, mean)
输出应该是:
df<- data.frame(name=c("lauren", "max", "pat"), normalizedMean=c(.5, .5, 1))
但我一直在研究如何获取最大值并在相应的 df 数据帧中创建一个新变量。我知道这是一个应用函数,但我怀疑聚合可以在这里组合。
我认为您发布的最终解决方案并不完全是标准化值。它应该是 c(0,0,1)
df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4))
meanValue <-aggregate(value ~name, data=df, mean)
min_val<-min(meanValue$value)
max_val<-max(meanValue$value)
meanValue$normalizedMean<-(meanValue$value-min_val)/(max_val-min_val) #normalizing
meanValue
怎么样
df<- data.frame(name=df$name,
normalizedMean=meanValue$value/max(meanValue$value))
?