R语言:如何检查数据框特定行的对应列值?
解决方案
你其实不需要单独提取id向量再做匹配,直接在原数据框上筛选并判断更简洁高效,下面提供两种实现方式:
方法一:直接筛选目标行并添加判断列
直接筛选L1_agree == FALSE的行,同时新增一列标记是否满足percent_left_click == 100或misfit == 1的条件:
# 筛选L1_agree为FALSE的行,并添加判断列 target_rows <- subset(df, L1_agree == FALSE) target_rows$meets_condition <- target_rows$percent_left_click == 100 | target_rows$misfit == 1 # 查看结果 target_rows
运行后会得到包含目标行所有信息的结果框,其中meets_condition列会显示TRUE或FALSE,对应是否符合你的判断条件。
方法二:利用已有的L1_disagree向量匹配
如果你一定要用之前提取的L1_disagree向量,也可以通过%in%来匹配对应的行,再做条件判断:
# 通过id向量筛选目标行 target_rows <- df[df$id %in% L1_disagree, ] # 添加判断列 target_rows$meets_condition <- target_rows$percent_left_click == 100 | target_rows$misfit == 1 # 查看结果 target_rows
针对你的示例数据的输出结果
运行上述代码后,输出会是:
id L1_agree percent_left_click misfit meets_condition 3 1287 FALSE 30 0 FALSE 5 1406 FALSE 40 1 TRUE 7 1339 FALSE 90 0 FALSE
内容的提问来源于stack exchange,提问作者Peter Thwaites
相关产品推荐
相关产品推荐

