Если вы используете одно и то же имя фрейма данных и переменных, вы можете (по крайней мере для lm()
и glm()
) использовать функцию update
для сохраненной модели:
Df <- data.frame(X=1:10,Y=(1:10)+rnorm(10))
model <- lm(Y~X,data=Df)
model
Df <- rbind(Df,data.frame(X=2:11,Y=(10:1)+rnorm(10)))
update(model)
Это без курса, без какой-либо подготовки данных и т. Д. Он просто повторно использует набор спецификаций модели. Имейте в виду, что если вы измените контрасты в то же время, новая модель будет обновляться новыми контрастами, а не старыми.
Таким образом, использование сценария в большинстве случаев является лучшим ответом. Можно включить все шаги в функцию удобства, которая просто принимает фреймворк данных, поэтому вы можете запустить сценарий, а затем использовать эту функцию в любом новом наборе данных. См. Также ответ Гэвина на это.
Без 0x префикс, необходимо определить основу явно, иначе нет никакого способа сказать:
x = int("deadbeef", 16)
С 0x префикс, Python может отличить шестнадцатеричное число и десятичное число автоматически.
>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10
(Вы должны , определяют 0
как основу для вызова этого предполагающего префикс поведения; исключение второго параметра означает принимать основу 10.)
int(hexString, 16)
добивается цели и работает с и без 0x префикса:
>>> int("a", 16)
10
>>> int("0xa",16)
10
шестнадцатеричное число Дескрипторов, восьмеричное, двоичное, международное, и плавающее
Используя стандартные префиксы (т.е. 0x, 0b, 0, и 0o), эта функция преобразует любую подходящую строку в число. Я ответил на это здесь: https://stackoverflow.com/a/58997070/2464381, но вот необходимая функция.
def to_number(n):
''' Convert any number representation to a number
This covers: float, decimal, hex, and octal numbers.
'''
try:
return int(str(n), 0)
except:
try:
# python 3 doesn't accept "010" as a valid octal. You must use the
# '0o' prefix
return int('0o' + n, 0)
except:
return float(n)