全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1065 5
2013-09-16

n<-150

s<-rexp(n,1/7)

s                              

ords<-sort(s)

k<-sum(ords<=i)

for( i in seq(0,20,0.01)){}

plot({i=seq(0,20,0.01)},k))

目标为画出k,每隔0.01函数曲线,可是都会只有一个点,求教哪里需要修改

二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-17 09:07:49
n<-150
s<-rexp(n,1/7)
ords<-sort(s)
k<-rep(0,times=2000)
j<-1
//把每隔0.01区间内的ords加起来,加到ords>20为止。
for(i in 1:2000){
  while(ords[j]<=i*0.01){
    k[i]<-k[i]+ords[j]
    j<-j+1
  }
}
二维码

扫码加我 拉你入群

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

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

2013-9-17 09:08:49
我不知道理解你的意思对不对。
按我理解的去做的话,k会出现很多0。
二维码

扫码加我 拉你入群

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

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

2013-9-17 17:01:11
Plot该如何改,?
二维码

扫码加我 拉你入群

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

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

2013-9-17 18:39:51
此命题有些问题:
①如果按照seq(0,20,0.01)产生区间,将有2001个区间,而要将150个随机数放入这些区间,绝大多数区间将没有值,此时按定义的区间作图将会很奇怪。
②k的定义不清楚,从ords<-sort(s),k<-sum(ords<=i)来猜测,k应该是一个累积和。将k<-sum(ords<=i)放在循环体外是不正确的,因为 i 在循环体外没有定义。

如果不考虑区间,要做累积和曲线,相对简单:
n<-150
s<-rexp(n,1/7)                             
ords<-sort(s)
k=as.vector(cumsum(ords))
plot(k,type="l")

如果要按seq(0,20,0.01)产生的区间做图,则需要模拟相当多的随机数,以保证每个区间都有值。
二维码

扫码加我 拉你入群

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

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

2013-9-17 20:02:36
lanyajia 发表于 2013-9-17 18:39
此命题有些问题:
①如果按照seq(0,20,0.01)产生区间,将有2001个区间,而要将150个随机数放入这些区间,绝 ...
n<-150
s<-rexp(n,1/7)
s
ords<-sort(s)
oind<-sum(ords<=0)
oind
fourind<- sum(ords <=4)
fourind
eightind<-sum(ords<=8)
eightind
twind<-sum(ords<=12)
twind
sixind<-sum(ords<=16)
sixind
tweind<-sum(ords<=20)
tweind

y<-c(oind/150,fourind/150,eightind/150,twind/150,sixind/150,tweind/150)
y
plot({x=seq(0,20,4)},c(y),type=”s”)

原旨意是要划出六个点,但教授说可以用循环画出0:20间隔0.01的图
题目是要比较empirial survival function  s^(t)  与survival function s(t)
If n=150 follow exp distribution mean=7
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群