Если нужна гребневая регрессия в R, то можно использовать библиотеку с подходящим названием ridge. Основная фишка реализованного в ней метода – автоматический выбор параметра регуляризации, см. статью Cule, E. and De Iorio, M. (2012) A semi-automatic method to guide the choice of ridge parameter in ridge regression. Это действительно работает, причём на моих данных очень неплохо. Но в реализации допущены просто «потрясные» баги…
И как так можно писать! И как можно не тестить!
1. У Вас не получится ничего сделать с контрольной выборкой, состоящей из одного объекта.
Вот целую матрицу обработать — пожалуйста, а один объект — нет. Видимо, создатели даже и не подумали, что иногда бывает интересно значение целевой переменной ровно на одном объекте!
Почему так иногда происходит, я поясню на примере другой системы – Matlab, чтобы дать понять, что подобные ошибки происходят во многих скриптовых языках. Допустим, Вы пишите код, который нормирует все столбцы, скажем, делит на сумму всех элементов в столбце. Как-то так, если не проверять деление на ноль:

Так вот, если теперь X – вектор-строка, то этот код не работает. Причина в том, что sum(X) – это сумма столбцов матрицы X, кроме случая, когда X является матрицей размера 1×n. Поэтому надо в явном виде указывать, по какой размерности суммировать. Мораль: не полагайтесь на значения параметров по умолчанию.
2. Самую простую зависимость – константу – экстраполировать не удастся.
Если в обучении целевой вектор константный, т.е. регрессионные значения у всех объектов одинаковые, то на контроле будут выдаваться NaN-ы.
Из моего опыта (я не копался в коде ridge) – в чём причина подобного поведения? Видимо, изначально все значения нормируются, например делятся на дисперсию… а она-то нулевая… В R, естественно, делить на ноль можно – ошибки не будет:
Положительные моменты из мира R.
Открыл для себя библиотечку readr. В частности, там есть хорошая функция для загрузки csv-файлов: read_csv, она быстрее стандартной read.csv, а главное – правильнее работает (в Windows-версии, если в csv-файле много текстовых данных в кавычках, то read.csv иногда не справляется).
И ещё, я обещал опубликовать ссылку на хорошую книгу по R. Это не учебник по языку, а скорее, просто перечень кейсов с примерами кода. Мне понравилось.

Язык то больше академический, а там люди не привыкшие, на 20 строк кода писать 100 строк тестов :).
Это же проблема не языка, а отдельного пакета (который добрые люди за бесплатно сделали). Причём, с подобным я столкнулся в первый раз. Остальные пакеты очень качественные. Просто эти глюки довольно типичны для, скажем так, новичков в программировании на R, Matlab, Python.