obtendo uma amostra de um data.frame em R

Eu tenho o seguinte quadro de dados em R:

id<-c(1,2,3,4,10,2,4,5,6,8,2,1,5,7,7)
date<-c(19970807,19970902,19971010,19970715,19991212,19961212,19980909,19990910,19980707,19991111,19970203,19990302,19970605,19990808,19990706)
spent<-c(1997,19,199,134,654,37,876,890,873,234,643,567,23,25,576)
df<-data.frame(id,date,spent)

Eu preciso fazer uma amostra aleatória de 3 clientes (com base no id) de forma que todas as observações dos clientes sejam extraídas.

questionAnswers(2)

yourAnswerToTheQuestion