楼主: 江夏雁
722 1

[问答] For循环中,和手动一个个算,结果不一样 [推广有奖]

  • 20关注
  • 2粉丝

朋友

教授

55%

还不是VIP/贵宾

-

威望
0
论坛币
495 个
通用积分
6.1340
学术水平
8 点
热心指数
9 点
信用等级
-4 点
经验
40498 点
帖子
840
精华
0
在线时间
600 小时
注册时间
2010-6-24
最后登录
2024-3-18

10论坛币
dd2<-c(0.50,0.58,0.16,0.52,0.53,0.54,0.46,0.59)

m<-c()

for(i in 8){
  c<-dd2[-i]  
  m<-fitdist(c, distr="beta", method = "mle",start=NULL,fix.arg=NULL)$estimate[1]
}
运行结果为
> m[1]       NA       NA       NA       NA       NA       NA       NA 5.456822
有多个NA



手动输入
令i=1

> dd2<-c(0.50,0.58,0.16,0.52,0.53,0.54,0.46,0.59)

> m<-c()

> i=1

> c<-dd2[-i]

> m<-fitdist(c, distr="beta", method = "mle",start=NULL, fix.arg=NULL)$estimate[1]

m[1] 5.14101



>



就不会得到NA
再令i=2-8也都不会有NA


请问这是为什么?
多谢!

最佳答案

megapanda 查看完整内容

for (i in 8) 改为 for (i in 1:8) m
关键词:for循环 For
若无人伴你 愿你成你自己的太阳
沙发
megapanda 发表于 2020-6-28 14:49:56 |只看作者 |坛友微信交流群
for (i in 8) 改为 for (i in 1:8)

m<-fitdist(... 改为 m[i] <- fitdist(...

另外,"c"最好不要做变量名
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-15 01:20