r - r 中的索引,某些点的问题

标签 r function for-loop indexing

我创建了函数 dystdystryb :

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/

相关文章:

javascript - 将可执行函数分配给 Javascript 对象的属性

C++ 创建一个函数来获取两点之间的距离

java - 我想知道如何将java中的这个由星号组成的城市旋转90度(所以它实际上看起来像一个城市)

c - c 中的 for 循环中没有发生增量

r - 使用 glmmLasso 获取固定效应估计值而不是 pvalues

r - 使用 R 在 Sankey 图中突出显示从开始到结束的所有连接路径

r - 插入符号中的 R 中的并行处理

r - 如何更改 R 传单中的图例文本颜色?

功能参数检查

java - 用数字打印倒三角形 - Java