我有一个包含约 500 个模型对象的列表。该对象的名称是 v1:
existing.list <- vector("list", 3)
v1 <- names(existing.list) <- c("A", "B", "C")
我现在得到了不同的数据集,我也需要对其进行建模,并将其保存在同一个列表中。这个新数据集中的对象与existing.list
。因为这非常耗时,所以我确实想保留旧的结果。这个新数据集的名称是 v2:
v2 <- c("B", "C", "D")
我首先要删除 v1 中不在 v2 中的对象,然后将 v2 中所有新的、唯一的名称追加到现有的.list 中。
我可以用一种相当复杂的方式完成第一个任务:
rm <- v1[!v1 %in% v2]
rm.i <- which(v1 %in% rm)
v1 <- v1[-rm.i]
但后来我无法附加新对象,这是由 v2 中的唯一元素决定的:
new.elements <- v2[!v2 %in% v1]
所需的输出是修改后的existing.list
,具有完整的元素“B”和“C”以及一个新的空元素“D”。基本上,它是一个列表,其中的元素由中的名称确定v2
,但由于多种原因,仅创建一个新列表并复制部分内容会很复杂existing.list
到它。
由于我需要对多个列表执行此操作,因此比我现在所做的更简单的方法会很方便。
预先非常感谢您!这是项目的最后一刻添加,因此非常感谢任何帮助!
这个问题是基于上一个问题 https://stackoverflow.com/questions/56026040/merging-two-vectors-but-keeping-unique-elements-of-only-one-vector,我措辞草率,因此造成了混乱。我感谢那些仍然试图帮助我的用户。