Есть ли способ округлить десятичные дроби, которые я получаю в коэффициентах функции poly.calc? - PullRequest
1 голос
/ 26 мая 2019

Я работаю с функцией poly.calc () для интерполяции некоторых точек, проблема в том, что мне нужно напечатать полином с максимум двумя десятичными знаками для каждого коэффициента

Я знаю, что в R есть функция типа round (...), и она может делать это, но с числами, я не знаю, работает ли она с выражением, которое я получаю из poly.calc ().

Пример:

library(PolynomF)

x=c(1:4)
y=c(15,12,14,17)

pol = poly.calc(x,y)
pol

Это результат:

27 - 17,83333 * х + 6,5 * х ^ 2 - 0,6666667 * х ^ 3

И мне нужно что-то вроде этого:

27 - 17,83 * х + 6,5 * х ^ 2 - 0,66 * х ^ 3

Ответы [ 2 ]

3 голосов
/ 26 мая 2019

Мы можем использовать round

library(PolynomF)
pol <- round(pol, 2)
pol
#27 - 17.83*x + 6.5*x^2 - 0.67*x^3 

данные

pol <- poly_calc(x,y)
0 голосов
/ 26 мая 2019

Вы пытаетесь использовать функцию округления, как показано в следующем примере, и редактируете для своих нужд:

# --- calculate parameters lm -----------------------------------------
model <- lm(Pegel$D00 ~ Pegel$dss)
# summary(model)
a = round(as.vector(coef(model)[1]), 2)
b = round(as.vector(coef(model)[2]*365), 2) # scaled for year
r2 = round(summary(model)$r.squared, 2)
...