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

如何在R语言dataframe中复制一行并将其置于原行之后?

复制DataFrame指定行并插入原行后的实现方法

针对你提供的原始DataFrame:

original_df <- data.frame(
  ID = c(1, 2, 3),
  Name = c("Alice", "Bob", "Charlie"),
  Age = c(25, 30, 22)
)

要实现复制指定行(此处为第2行)并插入到原行之后,得到目标输出,以下是两种常用的R语言实现方法:

方法一:基础R原生实现

通过拆分原DataFrame为三部分,再用rbind()拼接即可:

  1. 定义要复制的行索引(此处为2)
  2. 拆分出目标行之前的部分、目标行本身、目标行之后的部分
  3. 按顺序拼接这三部分
# 指定要复制的行索引
row_index <- 2

# 拼接生成结果DataFrame
result_df <- rbind(
  original_df[1:row_index, ],          # 目标行及之前的内容
  original_df[row_index, ],            # 复制的目标行
  original_df[(row_index + 1):nrow(original_df), ]  # 目标行之后的内容
)

# 查看结果
print(result_df)

输出结果:

ID    Name Age
1  1   Alice  25
2  2     Bob  30
3  2     Bob  30
4  3 Charlie  22

方法二:使用dplyr包(tidyverse生态)

如果习惯使用tidyverse工具链,可通过slice()函数重新指定行顺序,写法更简洁:

library(dplyr)

row_index <- 2

result_df <- original_df %>%
  slice(c(1:row_index, row_index, (row_index + 1):n()))

# 查看结果
print(result_df)

此方法通过构造包含重复索引的向量,让slice()按指定顺序提取行,同样能得到目标输出。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:08:23