R语言ifelse语句问题:为何结果只有'Yes'没有'No'?

如果您在R语言中使用ifelse语句后,发现结果只返回'Yes'而没有'No',这可能是因为您的数据框中没有满足条件的情况,导致所有触发项都被赋值为'Yes'。

解决方案

为了解决这个问题,您可以按照以下步骤修改代码:

  1. 添加占位符列: 在数据框中添加一个新的列作为占位符,并初始化为NA。2. 条件赋值: 使用ifelse函数根据条件对占位符列进行赋值。3. 筛选结果: 使用!is.na()函数筛选出不为NA的值,即包含'Yes'和'No'的结果。

代码示例

以下是修改后的代码示例:R# 添加占位符列hbp$data <- NA

条件赋值hbp$data <- ifelse(hbp$sbpmean >= 140 | hbp$dbpmean >= 90 | hbp$BPQ020 == 1 | hbp$BPQ050A == 1, 'Yes', 'No')

筛选结果hbp$data <- hbp$data[!is.na(hbp$data)]

解释:

  • 首先,我们在数据框'hbp'中添加了一个名为'data'的新列,并将其初始化为NA。* 然后,我们使用ifelse函数根据条件对'data'列进行赋值,如果满足条件则赋值为'Yes',否则赋值为'No'。* 最后,我们使用!is.na(hbp$data)筛选出'data'列中不为NA的值,并将结果重新赋值给'data'列,从而获取到包含'Yes'和'No'的结果。

请注意:

  • 请确保您已正确加载并读取了数据框'hbp'。* 请根据您的实际条件修改代码中的条件表达式。
R语言ifelse语句问题:为何结果只有'Yes'没有'No'?

原文地址: https://www.cveoy.top/t/topic/S3A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录