Когда вы запускаете
cc <- RxInSqlServer(connectionString = connStr);
rxSetComputeContext(cc)
, вы указываете R запускать любые аналитические функции Microsoft (в основном те, которые начинаются с rx) в контексте вычисления SQL .Это означает, что вся обработка будет выполняться внутри базы данных.По сути, R действует как оболочка для SQL.
Естественно, для этого необходимо, чтобы набор данных, с которым вы работаете, действительно находился в базе данных: таблица, представление или запрос, возвращающий набор результатов.
Когда вы запускаете
risk <- rxImport(input_data)
LinReg_model <- rxLinMod(RiskFPD60 ~ Age, data = risk)
, вы импортируете свои данные в локальный фрейм данных, а затем пытаетесь разместить на нем модель.Но вы ранее сказали R, чтобы он занимался обработкой чисел в базе данных, и ваши данные локальны.Так что он будет жаловаться.
Решение состоит в том, чтобы передать ваш RxSqlServerData
объект непосредственно rxLinMod
:
LinReg_model <- rxLinMod(RiskFPD60 ~ Age, data = input_data)