楼主: xingzhaoh
3863 6

[问答] 随机选取进行100次拟合 [推广有奖]

副教授

20%

还不是VIP/贵宾

-

威望
0
论坛币
3407 个
通用积分
13.9638
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
583 点
帖子
421
精华
0
在线时间
703 小时
注册时间
2011-9-14
最后登录
2023-11-17

楼主
xingzhaoh 发表于 2012-6-21 08:39:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近要用R进行非线性拟合:
公式:

nls.sol<-nls(ABOVE~a*DBH^b,data=rd,start=list(a=0.01,b=2))

要求是从数据database中随机抽取6组数进行拟合,但要进行随机抽取100次6组数据,进行100次拟合,要把这100次的拟合结果都展示出来?

我会一个一个模拟,但怎么可以一次进行100次拟合呢?

请哪位大侠指点一下,不胜感激!

数据在附件中。

二维码

扫码加我 拉你入群

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

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

关键词:nls 非线性 SOL

回帖推荐

jmpamao 发表于7楼  查看完整内容

zhao

wooson 发表于4楼  查看完整内容

不知道你说的取6组数据是什么意思,姑且认为是取6行数据吧

沙发
trier2006 发表于 2012-6-21 13:10:23
基于次数做循环
最好的医生是自己,最好的药物是时间……

藤椅
xingzhaoh 发表于 2012-6-21 13:33:56
trier2006 发表于 2012-6-21 13:10
基于次数做循环
能否写个代码给我,让我学习一下,基础不好

板凳
wooson 发表于 2012-6-21 15:36:16
不知道你说的取6组数据是什么意思,姑且认为是取6行数据吧
  1. snumber = dim(rd)[1]
  2. nls.sol = list()
  3. for (i in 1:100) {
  4. rown = sample(1:snumber, 6)
  5. rddata = rd[rown,]
  6. nls.sol[[i]]<-nls(ABOVE~a*DBH^b,data=rddata,start=list(a=0.01,b=2))
  7. }
复制代码

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
钱仔陈 + 1 + 1 + 1 观点有启发
ltx5151 + 20 根据规定进行奖励
qoiqpwqr + 40 + 1 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 20  学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

报纸
xingzhaoh 发表于 2012-7-3 11:14:50
wooson 发表于 2012-6-21 15:36
不知道你说的取6组数据是什么意思,姑且认为是取6行数据吧
厉害,谢谢帮助,前几天出差,没看到,灰常感谢

地板
xingzhaoh 发表于 2012-7-4 15:43:52
wooson 发表于 2012-6-21 15:36
不知道你说的取6组数据是什么意思,姑且认为是取6行数据吧
我想请问怎么样才能用一个语句展示所有的拟合结果?
我是一个一个lm.sol[[14]],lm.sol[[15]],lm.sol[[16]]........
太费时间了?请问您有什么好的方法,一次全部展示出来呢

7
jmpamao 发表于 2012-12-7 20:57:40

zhao <- function(){
rd.6 <- rd[sample(rownames(rd),6),]
nls.sol <- nls(ABOVE~a*DBH^b,data=rd.6,start=list(a=0.01,b=2))
return(nls.sol)
}
zhao2 <- replicate(100,zhao(),simplify=F)  #重复100次动作,simplify=F 为list, T为 矩阵
zhao2  #可以看到100次的结果

你看看可以不可以?


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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 11:38