You can use rank
to give the ranks of the data.
# your data
mydf <- read.table(text="date - site1 - site2 - site3 - site4
1/1/00 - 24 - 33 - 10 - 13
2/1/00 - 13 - 25 - 6 - 2", sep="-", header=TRUE)
# find ranks
t(apply(-mydf[-1], 1, rank))
# add to your dates
mydf.rank <- cbind(mydf[1], t(apply(-mydf[-1], 1, rank)))
About the code
mydf[-1] # removes the first column
-mydf[-1] #using the `-` negates the values -so the rank goes in decreasing order
apply
with MARGIN=1 finds the ranks across rows
The t
transposes the matrix to give the output as you want