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

如何在R数据框中将Answer行的Correct列数据移至对应上行并删除该行?

解决R数据框中Answer行与对应行的关联处理问题

嘿,这事儿好办!我来一步步教你怎么把那些标注为"Answer"的行的内容合并到上方对应的行,然后清理掉这些Answer行。

首先,先把你的原始数据框构造出来(方便复现测试):

# 构造原始数据框
df <- data.frame(
  ID = c("1", "Answer", "2", "Answer"),
  PicName = c("flower", NA, "cat", NA),
  Rating = c(4, NA, 5, NA),
  Correct = c(1, 1, 2, 1),
  stringsAsFactors = FALSE
)

接下来是核心处理步骤,逻辑非常清晰:

  1. 先定位所有标记为"Answer"的行的索引
  2. 把这些Answer行的Correct值,赋值给它们正上方的目标行的Correct列
  3. 最后删除所有多余的Answer行

对应的代码如下:

# 找到所有Answer行的位置索引
answer_indices <- which(df$ID == "Answer")

# 将Answer行的Correct值传递给上方对应的行
df$Correct[answer_indices - 1] <- df$Correct[answer_indices]

# 删除所有Answer行,得到清理后的数据集
clean_df <- df[-answer_indices, ]

# 查看最终处理结果
print(clean_df)

运行这段代码后,你会得到符合预期的干净数据框:

ID PicName Rating Correct
1  1  flower      4       1
2  2    cat      5       1

这个方法完全适配你给出的示例场景——每个Answer行都正好在它对应的目标行下方。如果你的实际数据有特殊情况(比如Answer行位置不规律),可以再补充细节,咱们再调整逻辑~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:25:44