假设我有一个 R 列表:
ls<-list(a="a",b="b",c="c")
有没有办法隐藏元素 b
?比如:
> ls
$a
[1] "a"
$c
[1] "c"
如果它是隐藏的,我如何像 ls$b
或 ls$.b
那样调用它?我问这是因为元素 b 可能非常大,我不想把它列出来,只是用于接下来的分析。
最佳答案
您还可以为您的对象指定一个新类和一个新打印函数:
x <- vector("list", 3L)
names(x) <- letters[1:3]
x[[1]] <- 1
x[[2]] <- "the element to hide"
x[[3]] <- "a"
class(x) <- c("bob", "list")
attr(x, "hidden") <- "b"
print.bob <- function (x) {
hid <- attr(x, "hidden")
print(x[!names(x) %in% hid])
}
x
$a
[1] 2
$c
[1] 4
# but
length(x)
[1] 3
第一个
关于r - 如何在 R 中隐藏和调用列表的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990960/