gpt4 book ai didi

r - 当我们在 R 中输入列表变量时,有什么方法可以决定要打印什么?

转载 作者:行者123 更新时间:2023-12-03 20:51:53 25 4
gpt4 key购买 nike

我们定义了一个返回列表的函数。我们将返回的列表分配给一个变量。当我们将它输入到控制台时,它会打印出整个列表。无论如何,是否有更喜欢从该列表中打印的内容。

例如,我希望它在我输入“tm”时只打印出“tm$note”,而不是打印整个控制台的列表:/

> summary(tm)
Length Class Mode
aucM 6 -none- numeric
prbM 6 -none- numeric
mapM 6 -none- numeric
perfAll 18 -none- numeric
msdM 18 -none- numeric
predlab 2 -none- list
note 1 -none- character
settings 1 -none- character
> tm$note
[1] "this is an example of...bla bla.. "

最佳答案

设置列表的类并定义一个summary方法:

tm <- list(note="this is the note", junk="other junk", numericJunk=1:5)
class(tm) <- "myClass"
summary.myClass <- function(object, ...) {
object$note
}
summary(tm)
## [1] "this is the note"

要获得更多控制,您可以为 myClass 对象定义 print 方法,或者让 summary.myClass 返回类“summary.myClass”的对象"并定义 print.summary.myClass 方法(参见例如 stats:::print.summary.lm)。

稍微仔细地重新阅读您的问题:定义 print.myClass 可能是您想要的:

 print.myClass <- function(object,...) {
print(object$note)
}
tm
## [1] "this is the note"

(您也可以使用 cat() 而不是 print())。

如果您愿意,可以将上面的内容定义为 summary.listprint.list,这样所有 列表将打印在这样,但这对我来说似乎很危险/过于笼统……最好的做法是指定您的值是列表的特殊种类(即为其分配一个类)。

关于r - 当我们在 R 中输入列表变量时,有什么方法可以决定要打印什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com