gpt4 book ai didi

r - 如何从 R 中的 nls 模型中检索原始数据?

转载 作者:行者123 更新时间:2023-12-02 15:59:18 25 4
gpt4 key购买 nike

非线性最小二乘法(R核心中的nls()函数)生成一个列表对象,里面有一堆有用的信息,是否还有作为模型输入的原始数据?我怀疑是的,因为像 predict()fitted() 这样的函数实际上是在这个对象上定义的,并在原始拟合数据的范围内生成预测。那么,如何通过模型对象访问这些数据呢?

想象一下这个设置

# generating some data
generated_data <- hist(rnorm(1000, 50, 10))
data <- data.frame(x = generated_data$mids, y = generated_data$counts)

# a dummy model
my_model <- nls(y ~ N * dnorm(x, m, s), data=data, start=c(m=55, s=12, N=sum(data$y)) )

如何通过 my_model 对象访问 xy 值?

最佳答案

数据确实在那里,但它有点隐藏在模型的环境中,模型的环境也保存在对象中,我通过查看 the source code 弄明白了。 .您可以通过 getEnv() 函数访问输入值,该函数可通过 m 对象访问,并且是 nls 返回的列表的一部分.

所以在虚拟示例中:

# generating some data
generated_data <- hist(rnorm(1000, 50, 10))
data <- data.frame(x = generated_data$mids, y = generated_data$counts)

# a dummy model
my_model <- nls(y ~ N * dnorm(x, m, s), data=data, start=c(m=55, s=12, N=sum(data$y)) )

original_x_values <- my_model$m$getEnv()$x
original_y_values <- my_model$m$getEnv()$y

关于r - 如何从 R 中的 nls 模型中检索原始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71039024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com