【发布时间】:2015-07-04 13:59:10
【问题描述】:
这是我的代码:
#Start of my Code#
test1<-function(c,x){
high=0
low=0
samp=NULL
samp=sample(c,x)
for(i in 1:x){
if(samp[i]>1){high=high+1}
else if (samp[i]<0){low=low+1}}
c(high,low,mean(samp),var(samp),samp)
}
sim1 <-function(c,x){
replicate(nsim,{test1(c,x)})}
size=10
a<-sim1(overall,size)
listnormwor=NULL
countnormwor=0
meannormwor=NULL
for(i in 0:nsim-1){
**if (a[1+(size+4)*i]+a[2+(size+4)*i]==0)**{
countnormwor=countnormwor +1
for (z in 5:(size+4)){
listnormwor=c(listnormwor, a[z+(size+4)*i])}
meannormwor=c(meannormwor,a[3+(size+4)*i])}
}
countnormwor
mean(meannormwor)
var(listnormwor)
简单地说,我想说如果没有异常值(每 14 个数据点的第一个和第二个值表示为“0”),将其计数到一个正常的桶中并保留其值以计算方差和平均值。
但问题是,它从 a 生成所有值,最后,它提供了我想要的实际值。
例如必须满足length(listnormwor) = 10 * countnormwor
但是它给了我一个荒谬的数据量,当我使用 if 语句时,它说“缺少 TRUE/FALSE 需要的值。”
【问题讨论】:
标签: r if-statement error-handling count