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

在R语言DataFrame中统计两列属名匹配与不匹配的次数

解决R语言DataFrame属名匹配统计问题

方法一:Base R 简洁实现

直接用字符串处理函数提取属名,再通过table()统计匹配结果:

# 提取Prediction (Sp)列的首个单词(属名)
df$sp_genus <- sub(" .*", "", df$`Prediction (Sp)`)

# 统计匹配/不匹配的行数
match_stats <- table(df$`Prediction (Ge)` == df$sp_genus)
print(match_stats)
  • sub(" .*", "", x) 会替换掉第一个空格及之后的所有内容,直接得到首个单词
  • table() 自动统计逻辑向量中TRUE(匹配)和FALSE(不匹配)的数量

方法二:Tidyverse 管道式实现

如果习惯用tidyverse生态,用dplyr+stringr的组合更流畅:

library(dplyr)
library(stringr)

match_stats <- df %>%
  mutate(sp_genus = str_extract(`Prediction (Sp)`, "^\\w+"),
         is_match = `Prediction (Ge)` == sp_genus) %>%
  count(is_match)

print(match_stats)
  • str_extract(Prediction (Sp), "^\\w+") 提取字符串开头的单词字符,即属名
  • count(is_match) 直接统计匹配和不匹配的行数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:15:39