У меня есть несколько групп, скажем, A, B, C, и я хочу cut
другую переменную на основе этих групп, то есть каждая группа имеет определенные разрывы для одной и той же переменной.
Если бы мне нужно было вычислить среднее значение для групп, я бы использовал tapply
вот так:
tapply(mydata$var,mydata$group,mean)
К сожалению, я не знаю, как это исправить для cut
с изменением аргументов breaks = c (...) для разных групп.
tapply(mydata$var,mydata$group,cut)
Есть предложения? Я хотел бы сделать это с tapply
, но подойдет и любое другое решение, кроме пользовательской функции.
РЕДАКТИРОВАТЬ: небольшой пример:
test <- data.frame(var=rnorm(100,0,1),
group=c(rep("A",30),
rep("B",20),
rep("C",50)))
# for group A:
cut(test$var,breaks=c(-4,0,4))
# for group B
cut(test$var,breaks=c(-4,1,4))
и так далее ...