2015-04-24 3 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

равномерно Это пробы между минимумом и максимумом в каждой группе, возвращая такое же количество значений в качестве исходного dataframe:

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 
Смежные вопросы