R: Como dividir um quadro de dados em conjuntos de treinamento, validação e teste?

Estou usando R para fazer aprendizado de máquina. Seguindo a metodologia padrão de aprendizado de máquina, gostaria de dividir meus dados aleatoriamente em conjuntos de dados de treinamento, validação e teste. Como faço isso no R?

Sei que existem algumas perguntas relacionadas a como dividir em dois conjuntos de dados (por exemplo, estepostar), mas não é óbvio como fazer isso para três conjuntos de dados divididos. A propósito, a abordagem correta é usar 3 conjuntos de dados (incluindo um conjunto de validação para ajustar seus hiperparâmetros).

questionAnswers(6)

yourAnswerToTheQuestion