Hi R-users,

I have a simple question for R heavy users. If I have a data frame like this


dfr <- data.frame(id=1:16, categ=rep(LETTERS[1:4], 4),
var3=c(8,7,6,6,5,4,5,4,3,4,3,2,3,2,1,1))
dfr <- dfr[order(dfr$categ),]

and I want to score values or points in variable named "var3" following this
kind of logic:

1. the highest value of var3 within category (variable named "categ") ->
"high"
2. the second highest value -> "mid"
3. lowest value -> "low"

This would be the output of this reasoning:

dfr$score <-
factor(c("high","mid","low","low","high","mid","mid","low","high","mid","low","low","high","mid","low","low"))
dfr

The question is how I do this programmatically in R (i.e. if I have 2000
rows in my dfr)?

I appreciate your help!

Cheers,
Lauri

	[[alternative HTML version deleted]]

