r - 为什么 which() 没有找到我序列中存在的特定数字?
问题描述
我以 0.1 个单位创建了一个从 0 到 20 的数字序列,但是 which() 无法找到 15.1,即使它在数据中。但是,如果我加入序列 which() 找到它。
a=NULL
a=as.numeric(c(seq(from=0,to=20,by=0.1)))
dat=as.data.frame(a)
which(dat$a==19.8)
which(dat$a==15.1) ## does not work!!! why?
which(dat$a==15.2) ## does not work!!! why?
which(dat$a==15.3)
## but if I start from 15 it works
a=NULL
a=as.numeric(c(seq(from=15,to=20,by=0.1)))
dat=as.data.frame(a)
which(dat$a==19.8)
which(dat$a==15.1)
## or if I join to sequences it works
a=as.numeric(c(seq(from=0,to=14.9,by=0.1)))
b=as.numeric(c(seq(from=15,to=20,by=0.1)))
c=c(a,b)
dat=as.data.frame(c)
which(dat$c==19.8)
which(dat$c==15.1)
解决方案
推荐阅读
- php - Laravel API - 试图获取非对象的属性 500 - 但它是一个对象
- linux - 使用 Bash 在给定的特定数字范围内生成随机浮点数
- javascript - graphqlKoa 不是函数
- java - Apache骆驼Junit模拟问题
- python - 如何从 python selenium firefox webdriver 获取 geckodriver 版本?
- javascript - Firebase 使用 JavaScript 拉取数组中的特定项目
- java - 即使在成功加载所需的目标文件后,在加载 JNI 依赖项时也会在 Java 中出现 UnsatisfiedLinkError(未定义符号)
- r - 将数据框与缺失值相结合
- node.js - 使用节点/快速应用程序时,Heroku open 不起作用
- c++ - 矢量与动态数组基准测试 - 瓶颈是什么?