2015-04-24 89 views
0

我有关于个人年龄的信息。我的目标是将这些信息转换为连续变量“年龄”,并在每个班级中平均分配。我如何在R中做到这一点?如何从分类变量创建连续变量

Class_age 
20-22 
20-22 
20-22 
23-25 
23-25 
23-25 
23-25 
23-25 
20-22 
20-22 

回答

0

均匀这样每个组内的最小值和最大值之间,返回相同数量的值的作为原始数据帧:

df = read.table(file='clipboard', header=TRUE) 

library(plyr) 
ddply(df, .(Class_age), function(x) { 
    level = x$Class_age[1] 
    min_max = as.numeric(strsplit(as.character(level), '-')[[1]]) 
    x$age = runif(nrow(x), min=min_max[1], max=min_max[2]) 
    return(x) 
}) 

输出示例:

Class_age  age 
1  20-22 21.08586 
2  20-22 21.78266 
3  20-22 21.11404 
4  20-22 20.46550 
5  20-22 21.01637 
6  23-25 24.52937 
7  23-25 24.71782 
8  23-25 23.26885 
9  23-25 23.69933 
10  23-25 24.61314 
相关问题