我创建了函数dyst
和dystryb
:
dyst<- function(t,x)
{
f<-1
return(f)
}
dystryb<- function(x)
{
x<-sort(x)
s<- numeric(101)
u<-seq(0,1, by = 0.01)
for (t in u)
{
s[t*100+1]<-dyst(t,x)
}
return(s)
}
调用函数
dystryb
后,我得到以下信息:> x<-c(1,2,3,4,5,6,7)
> dystryb(x)
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[51] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[101] 1
为什么此函数不适用于参数30和59?当然,这与创建向量为“1”的函数无关,但是我想弄清楚问题出在哪里。
最佳答案
下面准确地显示了发生的情况,由于浮点精度错误,您将在位置15、29,...处为零。
which(seq(0,1, by = 0.01)*100+1 != 1:101)
# [1] 15 29 30 56 57 58 59
关于r - 在r中建立索引,并指出一些问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41440178/