我创建了函数 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/