如何通过索引两个向量为DataFrame添加元数据列
给DataFrame添加ROI标注的实现方法
初始数据准备
先运行你的初始代码创建基础数据结构:
df <- data.frame(lab = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) roi1 <- c(2, 3, 4) roi2 <- c(6, 7)
生成df1:标注第一个ROI
不用手动构造长向量,直接通过索引赋值更高效:
# 复制原df并初始化roi列为NA df1 <- df df1$roi <- NA_character_ # 给roi1对应的行标注"my_roi" df1$roi[roi1] <- "my_roi"
执行后得到的df1和你手动定义的结果完全一致。
生成df2:叠加标注第二个ROI
基于df1的结果,继续给roi2对应的行赋值:
df2 <- df1 # 给roi2对应的行标注"my_roi2" df2$roi[roi2] <- "my_roi2"
此时df2就是你需要的最终数据框。
查看结果
运行print(df2)可以验证输出:
print(df2) # lab roi # 1 1 <NA> # 2 2 my_roi # 3 3 my_roi # 4 4 my_roi # 5 5 <NA> # 6 6 my_roi2 # 7 7 my_roi2 # 8 8 <NA> # 9 9 <NA> # 10 10 <NA>
内容的提问来源于stack exchange,提问作者cfausto
相关产品推荐
相关产品推荐

