楼主: Ericabc
3679 1

[问答] R中nls预测NA不返回预测值如何解决 [推广有奖]

  • 1关注
  • 1粉丝

院士

53%

还不是VIP/贵宾

-

威望
0
论坛币
87 个
通用积分
35.8865
学术水平
5 点
热心指数
7 点
信用等级
2 点
经验
206360 点
帖子
226
精华
0
在线时间
7875 小时
注册时间
2007-10-4
最后登录
2026-1-22

楼主
Ericabc 发表于 2014-6-30 17:26:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R中使用nls做指数下降拟合,当y中含有NA时,不返回对应的预测值,如何解决
x <- c(0.25,  1.00,  4.00, 11.00, 18.00, 25.00, 32.00, 56.00)
y <- c(27.017,     NA, 26.497, 25.706, 25.430, 25.481, 25.299, 25.322)
data.xy <- as.list(cbind(x,y))
xy.nls <- nls(y ~ a * exp(-1 * b * x) + c, data = data.xy, start = list(a = 9, b = 0.004, c = 18))
summary(xy.nls)
xy.nls.pred <- predict(xy.nls, newdata = data.xy)

xy.nls.pred只返回了7个值,NA对应的值没有,如何解决?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:nls 预测值 如何

沙发
DM小菜鸟 发表于 2014-12-8 18:16:43
系统应该会提示你这样一句话:“(1 observation deleted due to missingness)”

如果这里有缺失值,可以选择的方法一般有:删除存在缺失值的个案缺失值插补
如果去掉后信息过多丢失,可以考虑处理一下你的缺失值,考虑可以采用多重插补的方式。

R中的多重插补方式,可以通过mice包实现。
给你一个例子——

library(mice)
imp<-mice(mydata,m)
fit<-with(imp,analysis)
pooled<-pool(fit)
summary(pooled)
-----------------------------
我再解释一下:
mydata是一个包含缺失值的矩阵或数据框。
imp是一个包含m个插补数据集的列表对象,同时还含有完成插补过程的信息。默认地,m为5。
analysis是一个表达式对象,用来设定应用于m个插补数据集的统计分析方法。
方法包括做线性回归模型的lm()函数、做广义线性模型的glm()函数、做广义可加模型的gam(),以及做负二项模型的nbrm()函数。表达式在函数的括号中, ~的左边是响应变量,右边是预测变量(用+符号分隔开)。
fit是一个包含m个单独统计分析结果的列表对象。
pooled是一个包含这m个统计分析平均结果的列表对象。



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 05:06