You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中统计每行exit值与各xi列值相等的次数?

R语言用ifelse实现每行exit与xi列的匹配次数统计

首先构造示例数据框:

df <- data.frame(
  exit = c(3, 4, 5, 6),
  x1 = c(4, 4, 4, 4),
  x2 = c(6, 6, 6, 6),
  x3 = c(6, 6, 6, 6),
  x4 = c(NA, NA, NA, NA)
)

通过嵌套ifelse()处理缺失值并统计匹配次数:

# 新增n列,统计每行exit与x1-x4的相等次数
df$n <- ifelse(is.na(df$x1), 0, ifelse(df$x1 == df$exit, 1, 0)) +
        ifelse(is.na(df$x2), 0, ifelse(df$x2 == df$exit, 1, 0)) +
        ifelse(is.na(df$x3), 0, ifelse(df$x3 == df$exit, 1, 0)) +
        ifelse(is.na(df$x4), 0, ifelse(df$x4 == df$exit, 1, 0))

运行后得到的结果与期望一致:

exitx1x2x3x4n
3466NA0
4466NA1
5466NA0
6466NA2

逻辑说明

  • 对每个x列,先用is.na()判断是否为缺失值,若是则记0(NA不参与匹配统计)
  • 若不是缺失值,再判断该x值是否等于当前行的exit值,相等记1,不等记0
  • 将四列的统计结果相加,得到每行的匹配总次数n

内容的提问来源于stack exchange,提问作者aerw4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:05:40