Основываясь на ответе Кейтпьолли, это заменяет знаки «+», используемые в разделителе, на фактический знак коэффициента.
modelcrime <- lm(y~., UScrime)
modelcrime_coeff <- modelcrime$coefficients
modelcrime_coeff_sign <- sign(modelcrime_coeff)
modelcrime_coeff_prefix <- case_when(modelcrime_coeff_sign == -1 ~ " - ",
modelcrime_coeff_sign == 1 ~ " + ",
modelcrime_coeff_sign == 0 ~ " + ")
modelcrime_eqn <- paste("y =", paste(if_else(modelcrime_coeff[1]<0, "- ", ""),
abs(round(modelcrime_coeff[1],3)),
paste(modelcrime_coeff_prefix[-1],
abs(round(modelcrime_coeff[-1],3)),
" * ",
names(modelcrime_coeff[-1]),
sep = "", collapse = ""),
sep = ""))
modelcrime_eqn
дает результат
[1] "y = - 5984.288 + 8.783 * M - 3.803 * So + 18.832 * Ed + 19.28 * Po1 - 10.942 * Po2 - 0.664 * LF + 1.741 * M.F - 0.733 * Pop + 0.42 * NW - 5.827 * U1 + 16.78 * U2 + 0.962 * GDP + 7.067 * Ineq - 4855.266 * Prob - 3.479 * Time"
lm
и линейными моделями в целом, но не совсем понятно, чего именно вы хотите. Можете привести пример или кое-что прояснить? Это для какой-то темы?