【发布时间】:2015-12-08 19:54:26
【问题描述】:
当原始元素是长度为 2 的数字向量时,我可以在 R 语言中覆盖列表的元素吗?
l <- list(a=c(3,5),b=2,c=3) # OK, CREATED a list s.t. element 'a' is a 2-length vector
l['b'] <- 8 # OK, overrided a named element 'b' of the list with a 1-length vector.
l['a'] <- c(4,5) # "Warning" emitted
(l) # BAD
它会引发警告。更糟糕的是,列表不会更新为新值。需要一些解决方法来更新预先存在的列表的 2 长度向量元素。可能会再次执行一个全新的列表构造函数——避免覆盖元素——如果很明显如何通用地编写代码。我还不知道如何在 R 中编写该代码。
这是 R 版本 3.2.2 (2015-08-14) -- “消防安全” 版权所有 (C) 2015 统计计算 R 基金会 平台:x86_64-pc-linux-gnu(64位)
【问题讨论】:
-
使用
l[['a']] <- c(4,5)。对于列表,您应该使用双括号来引用元素。
标签: r