r - 为什么 1 在 R 中大于 1?
问题描述
我已经使用 R 进行数据操作很长时间了,最近根据我的数据结果,我发现 R 中的条件语句不正确。这是我的数据集的示例:
tail(ncmi[which(ncmi$type=='Above'),])
p freq freq.pred pred.lwr pred.upr type
OTU328 0.0008791327 1 1 0.7224672 1 Above
OTU81 0.0008872229 1 1 0.7224672 1 Above
OTU2322 0.0008953131 1 1 0.7224672 1 Above
OTU55 0.0009087967 1 1 0.7224672 1 Above
OTU6952 0.0009141902 1 1 0.7224672 1 Above
OTU5350 0.0009249771 1 1 0.7224672 1 Above
如果freq中的数字大于pred.upr,则类型设置为'Above',如您所见,freq中没有一个结果大于pred.upr,而数据类型设置为'以上'。
我的代码中的条件语句如下:
ncmi$type <- ''
for (k in 1:nrow(ncmi)) {
if(ncmi$freq[k]>ncmi$pred.upr[k]){
ncmi$type[k] <- 'Above'
}else if(ncmi$freq[k]<ncmi$pred.lwr[k]){
ncmi$type[k] <- 'Below'
}else{
ncmi$type[k] <- 'Neutral'
}
}
为什么会发生这种情况?
解决方案
推荐阅读
- database - 在access中创建父子数据录入表单
- r - R - 如何获得 2 个阶跃函数的差值/总和?
- elasticsearch - Cloudwatch 到 Elasticsearch 在推送到 ES 之前解析/标记日志事件
- java - 使用 Java 解析器在 XML 属性中保留 /t 和 /n
- c - 在C中的字符串中返回置换
- sql - 多对多?
- javascript - 在html页面中编写javascript出现在页面中
- android - 如何在 Android Test 接口中对静态方法进行单元测试?
- rollup - 使用汇总 js 将多个 es6 类组合成单个库
- python - Tensorflow 图像分割权重未更新