loops - 如何修复错误代码“需要 TRUE/FALSE 的缺失值”
问题描述
我正在寻找一个数据集(df_freeGammas)并总结该集合的某些组件。数据集分为受试者和不同的测试编号(受试者 1,测试 1)。有些科目有超过 1 项测试。每个测试都有对应于测试和主题的 16 行数据的子集。我希望能够使用循环或嵌套循环将主题编号放在结果矩阵中。我已经找到了一种方法来做到这一点,但我不断收到错误消息:“if (df_freeGammas[n, 2] != df_freeGammas[n + 1, 2]) { : 需要 TRUE/FALSE 的缺失值”请帮助。
我尝试添加更多 if 循环和 while 循环。
for (n in 1:nrow(df_freeGammas)){
+ if (df_freeGammas[n,2] != df_freeGammas[n+1,2]){
+ Results[n/16,1] = df_freeGammas[n,1]}
+ else if (df_freeGammas[n,1] != df_freeGammas[n+1,1]){
+ Results[n/16,1] = df_freeGammas[n,1]}
+ else
+ invisible()
我期待结果,但没有错误消息。
解决方案
看起来您的一项相等性检查正在评估为“NA”,而不是 TRUE/FALSE。
一种可能的解决方案是为 NA 案例添加一个子句,如此处所述。
对于您的用例,这可能如下所示:
(df_freeGammas[n,2] != df_freeGammas[n+1,2]) & !is.na(df_freeGammas[n,2] != df_freeGammas[n+1,2])
如果两个值不相等,上述内容将仅返回 TRUE,并且相等检查的计算结果为 Non-NA。
与往常一样,如果它解决了问题,请务必将此答案标记为已接受。
谢谢!
推荐阅读
- javascript - 为什么我的元素不使用相同的反应状态实例?
- asp.net - 在 ASP.NET 中下载 Excel 后执行代码
- python - ModuleNotFoundError:没有名为“account.apps.AccountConfigdjango”的模块;“account.apps”不是一个包
- python - 尝试 dm 禁止用户时引发禁止异常 (Discord.py)
- sql-server - SQL Server 全文搜索问题
- ruby-on-rails - 如何并行运行单个 RSpec 示例以进行去剥落?
- angular - 如何重新创建 Angular CLI 创建的自动生成的自签名证书?
- javascript - 具有两个值的对象
- java - 在 Collector 中动态嵌套 group by
- google-cloud-platform - 通过 SDK 在 GCP 中创建服务帐户时出错