我试图在3个独立的数据帧中设置相同的因子水平,所以我尝试通过列表和循环更有效地这样做。
dlist <- list(d1, d2, d3)
for (i in 1:length(dlist)) {
dlist[[i]]$myFactor <- factor(dlist[[i]]$myFactor, levels=c("l1", "l2"))
}
这似乎更新了dlist中复制的数据帧的因子级别,但不是更新数据帧本身的因子级别。如何更改d1 $ myFactor,d2 $ myFactor,d3 $ myFactor?
答案 0 :(得分:2)
当您将data.frames放在列表dlist
中时,它们不再链接到原始data.frames。更新dlist
中的值不会更新d1
,d2
或d3
中的值。
您应该从这里开始使用dlist
。您可以在列表中引用具有索引值的各个元素(data.frames)。
如果您希望它们退出列表,您必须单独执行此操作:
d1 <- dlist[[1]]