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

基于个体总数为Data Frame添加行及衍生列的技术问题

数据框行扩展解决方案

示例数据构造

先把你给出的表格转换成可运行的R数据框:

df <- data.frame(
  Species_ID = c("mon", "jon", "sylv", "ter"),
  Location_ID = c("WH", "IF", "WS", "MB"),
  Altitude = c(1700, 1850, 2100, 1700),
  Female = c(3, 5, 7, 20),
  Male = c(10, 2, 3, 15)
)

步骤1:新增个体总数列

用dplyr的mutate()函数计算每行的个体总数:

library(dplyr)
df <- df %>% mutate(total = Female + Male)

步骤2:按总数重复行

有两种简洁的实现方式:

  1. 用tidyr包的uncount函数(专门处理按数值重复行的场景):
library(tidyr)
result_df <- df %>% 
  uncount(total) %>% 
  select(Species_ID, Location_ID, Altitude)
  1. 仅用dplyr实现:
result_df <- df %>% 
  slice(rep(row_number(), total)) %>% 
  select(Species_ID, Location_ID, Altitude)

两种方法都能得到目标结果:每个原始行按个体总数重复对应次数,仅保留指定的三列信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:40:31