R is one of the best tool to do data science (for prototype, and for data fit in memory). And caret is one of the best package to create common machine learning models in R.
As described in packages introduction, caret streamlines the process of creating the models.
For common models, it would do cross validation and parameter tuning automatically.
Here is an quick example on iris data.
There are still some difficulties when using R.
One issue is memory usage on large data sets. Currently I have a random forest model training on data about 1 million rows, which takes 24GB memory.
Next I will try to train some neural network model.