文献

综合讨论 2238 1
乐乐
乐乐 来自辽宁 发表于:2022-09-07 23:05:00

怎样快速查文献

 


本帖完毕
回帖
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
二个发布了新的文献求助10
刚刚
科研通AI2S应助tsuki采纳,获得10
刚刚
机灵书易发布了新的文献求助10
刚刚
刚刚
嘟噜完成签到 ,获得积分10
刚刚
刚刚
刚刚
小铁匠发布了新的文献求助10
1秒前
活力青槐发布了新的文献求助10
1秒前
1秒前
欢呼妙菱发布了新的文献求助10
1秒前
1秒前
1秒前
2秒前
猪皮恶人发布了新的文献求助10
2秒前
3秒前
崔哈哈完成签到,获得积分10
3秒前
顾矜应助九月采纳,获得10
4秒前
bbhk发布了新的文献求助30
4秒前
ZLQ发布了新的文献求助10
4秒前
孤独幻枫完成签到,获得积分10
5秒前
5秒前
汉堡包应助zzz采纳,获得10
5秒前
汉堡包应助张弘采纳,获得10
5秒前
Li完成签到,获得积分10
6秒前
Wearnn发布了新的文献求助10
6秒前
天顺发布了新的文献求助10
6秒前
Nan发布了新的文献求助10
7秒前
qq发布了新的文献求助10
7秒前
奋斗初南完成签到,获得积分10
7秒前
银鱼在游发布了新的文献求助10
8秒前
cx发布了新的文献求助10
8秒前
小W完成签到,获得积分10
8秒前
啊哈哈哈哈哈哈完成签到,获得积分20
9秒前
9秒前
充电宝应助窦窦窦窦窦采纳,获得10
9秒前
10秒前
科研通AI6.2应助Wangyingjie5采纳,获得10
10秒前
木木王发布了新的文献求助10
11秒前
乐乐应助单薄静枫采纳,获得10
11秒前
热门帖子
关注 科研通微信公众号,转发送积分 6479469
求助须知:如何正确求助?哪些是违规求助? 8280603
关于积分的说明 17661739
捐赠科研通 5562111
什么是DOI,文献DOI怎么找? 2911422
邀请新用户注册赠送积分活动 1888488
关于科研通互助平台的介绍 1742583
最新评论
这个错误通常发生在 R 语言进行并行计算时(尽管你设置了 `nworker = 1`,但 `iCAMP` 内部的 `icamp.big` 函数依然会调用底层集群或外部包进行特定的零模型随机化计算)。 导致 **`invalid 'size' argument`(无效的大小参数)** 的核心原因通常是:**由于某些 bin(物种组)内包含的物种数量(或样本量)太少,导致在进行随机抽样(如 `sample()` 函数)时,传入的抽样数量变为了 `0`、负数、或者是 `NA`。** 下面是导致该错误的两个最主要原因以及排查修复方法: --- ### 原因 1:某些 Bin 的物种数太少,且没有被正确忽略 看你的日志: > `----------Now binning com and sp without omitting small bins-----------------` 这意味着 `iCAMP` 正在对所有 bin 进行计算,**没有忽略那些极小的 bin**。虽然你设置了 `bin.size.limit = 20`,但在 `iCAMP` 的逻辑中,如果严格分 bin 导致某些“无法归类”或特殊的 bin 里面物种数少于某个抽样临界值,底层代码在计算观测 MPD 或随机化时就会因为 `sample(..., size = x)` 中的 `x < 1` 而崩溃。 #### 💡 解决方法: 尝试调整 `bin.size.limit` 或者增加系统发育树的过滤。你可以把 `bin.size.limit` 稍微调大(例如 24 或 30),或者检查你的群落数据 `comm` 中是否包含大量的低丰度/稀有物种(单件/双件物种),**建议在跑 iCAMP 之前,先过滤掉在极少数样本中**出现**的稀有物种**: ```R # 过滤掉在少于 3 个样本中**出现**的物种(根据你的数据自行调整) comm_filtered 0) >= 3] # 记得同步过滤 tree library(ape) tree_filtered `2: 'memory.limit()' is no longer supported` > `错误于checkForRemoteErrors(val)` 这说明你使用的是 **Windows 系统**,且 R 版本较新(R 4.2.0 之后已经废弃了 `memory.limit()`)。 虽然你显式设置了 `nworker = 1`,但 `iCAMP` 的某些子函数(例如底层调用 `parallel` 或 `snow` 包时)在 Windows 下创建单节点本地集群时,由于内存限制或变量传递失败,导致子节点传回了一个空值(`NULL` 或 `NA`),主节点在拿这个空值去作为 `size` 进行计算时引发了报错。 #### 💡 解决方法: 在运行 `icamp.big` 之前,手动在 R 中关闭所有潜在的并行冲突,并尝试清除内存: ```R # 1. 显式关闭可能残留的并行集群 try(parallel::stopCluster(cl), silent = TRUE) # 2. 深度清理 R 的内存垃圾 gc(full = TRUE) # 3. 重新运行,并将 nworker 设为 0 或 1 尝试 # 有些包的逻辑中,nworker = 0 才会完全不初始化并行环境,彻底走单线程 ``` --- ### 🛠️ 终极排查建议(两步走) 如果上述调整后依然在 `iCAMP` 的固定位置(如 `bin i=2` 之后)报错,说明是**输入数据的问题**。请重点检查你的输入数据: 1. **检查群落与树的匹配**:确保 `colnames(comm)` 和 `tree$tip.label` **完全一致**。虽然日志显示 `The names are re-ranked.`(名字已重新排序),但如果有物种名字在树里有、在群落里没有,或者反过来,容易导致分 bin 出现空集。 ```R # 严格确保二者物种完全对齐 sp.match 7分钟前
你只悬赏了10积分啊 43分钟前
谢谢!祝您科研顺利!顺心如意! 5小时前
感谢科研通,必须支持一下 5小时前
so good 6小时前
需要积分需要怎么做 6小时前
so good 6小时前
so good 7小时前