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

在R中新增列:基于Animal、Age、Country标记重复行

在R语言中基于指定列组合标记重复行

注:原数据框的列名为Animals,并非描述中的Animal,以下实现将使用正确的列名。

你可以通过两种常见方式实现需求:为数据框新增一列,当Animals、Age、Country三列的组合重复出现时标记为"Y",否则标记为"N"。

方法1:基础R实现

使用ave()函数按指定列分组计算每组行数,再根据行数判断标记:

# 新增标记列
df$New_Column <- with(df, ifelse(ave(ID, Animals, Age, Country, FUN = length) > 1, "Y", "N"))

方法2:tidyverse(dplyr)实现

通过分组统计每组数量生成标记:

library(dplyr)

df <- df %>%
  group_by(Animals, Age, Country) %>%
  mutate(New_Column = ifelse(n() > 1, "Y", "N")) %>%
  ungroup()

最终结果

运行上述代码后,数据框将新增New_Column列,结果如下:

IDAnimalsAgeDeliveryCostCountryNew_Column
1dog5Air120NigeriaY
2cat3Air110KenyaY
3fish1Air20KenyaN
4dog5Air150NigeriaY
5cat3Air100KenyaY
6dog6Air180EgyptN
7cat3Air135KenyaY
8turtle10Air90NigeriaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:53:13