R使用max规范化数据帧列

R使用max规范化数据帧列,r,max,aggregate,normalization,apply,R,Max,Aggregate,Normalization,Apply,新手 我看过一些关于创建函数以基于标准偏差规范化数据的帖子,等等。但我的问题有点不同 我有一个大的数据帧。我想买一个。查找数据集中所有名称的平均值。B根据最大值标准化平均值。样本数据: df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4)) df我认为你发布的最终解决方案并不是标准化值。它应该是c(0,0,1) df怎么样 df<- data.frame(name=df$name, nor

新手

我看过一些关于创建函数以基于标准偏差规范化数据的帖子,等等。但我的问题有点不同

我有一个大的数据帧。我想买一个。查找数据集中所有名称的平均值。B根据最大值标准化平均值。样本数据:

df<- data.frame(name=c("lauren", "max", "lauren", "pat"), value=(1:4))

df我认为你发布的最终解决方案并不是标准化值。它应该是c(0,0,1)

df怎么样

df<- data.frame(name=df$name, 
   normalizedMean=meanValue$value/max(meanValue$value))

df如果要使用随机值,则应使用
set.seed()
使示例重现。此外,您还应该为示例输入提供所需的输出。您不能除以平均值的max()吗?meanValue$value/max(meanValue$value)可能是您想要的。在第二行代码之后,请执行
meanValue$normalizedMean“normalize”一词急需定义。大多数统计学家会认为这意味着“转换”或“尺度”的平均值为0,标准偏差为1。当你有一半的数据(只有一个元素的组)没有标准差时,你怎么能指望任何人提供答案呢?@RamNarasimhan这正是我需要的。比我想象的简单多了!我不认为OP使用了和你一样的规范化定义……但是他的定义是什么,本?这看起来像是统计上的胡说八道。他们只是想把平均数除以最大平均数。这里没有足够的上下文来判断这是否合理。
df<- data.frame(name=c("lauren", "max", "pat"), normalizedMean=c(.5, .5, 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))