按不同的列用R来排列[0,1]
我试图用[0,1]范围规范化具有不同属性(数字、布尔…)的人员表,我尝试了以下函数:按不同的列用R来排列[0,1],r,range,normalization,R,Range,Normalization,我试图用[0,1]范围规范化具有不同属性(数字、布尔…)的人员表,我尝试了以下函数: ranging<-function(x){(x-min(x))/(max(x)-min(x))} ranging如果我们使用的是dplyr,mutate\u每个都可以使用ranging函数并应用于数据集的所有列 library(dplyr) df1 %>% mutate_each(funs(ranging)) 数据 df1假设您使用的是一个名为df的data.frame,没有任何
ranging<-function(x){(x-min(x))/(max(x)-min(x))}
ranging如果我们使用的是dplyr
,mutate\u每个
都可以使用ranging
函数并应用于数据集的所有列
library(dplyr)
df1 %>%
mutate_each(funs(ranging))
数据
df1假设您使用的是一个名为df的data.frame,没有任何因子变量,下面的代码应该在没有任何特殊包的情况下工作(如@user20650所建议的:
ranging<-function(x){(x-min(x))/(max(x)-min(x))}
dfNorm <- lapply(df, ranging)
ranging您可以对每个列的min和max使用lappy(df1,min)
或lappy(df1,max)
。最好显示一个可复制的示例和预期输出lappy(df1,ranging)
ranging<-function(x){(x-min(x))/(max(x)-min(x))}
dfNorm <- lapply(df, ranging)
dfNorm <- lapply(df, function(x) ifelse(is.factor(x), x, ranging(x)))