gpt4 book ai didi

R:从列表对象创建自定义输出

转载 作者:行者123 更新时间:2023-12-04 11:49:38 27 4
gpt4 key购买 nike

我有一个存储不同数据类型和对象的列表:

header <- "This is a header."
a <- 10
b <- 20
c <- 30
w <- 1:10
x <- 21:30
y <- 51:60
z <- 0:9

mylist <- list(header = header,
const = list(a = a, b = b, c = c),
data = data.frame(w,x,y,z))

现在我希望 R 以下列格式显示此列表:

This is a header.

Values: a: 10 b: 20 c: 30

Data: w x y z
1 1 21 51 0
2 2 22 52 1
3 3 23 53 2
4 4 24 54 3
5 5 25 55 4
6 6 26 56 5
7 7 27 57 6
8 8 28 58 7
9 9 29 59 8
10 10 30 60 9

有什么方便的方法吗?

最佳答案

如果你想经常使用这种print,我会使用一个class如下:

class(mylist) <- "myclass"

print.myclass <- function(x, ...){
cat(x$header,"\n\n")
cat("Values: ", sprintf("%s: %s", names(x$const), x$const), "\n\n")
cat("Data:\n")
print(x$data, ...)
}

如果您想了解有关通用函数的更多信息,请查看 http://adv-r.had.co.nz/OO-essentials.html

现在打印结果:

> mylist #equal to print(mylist). Thats why we extended print with print.myclass
This is a header.

Values: a: 10 b: 20 c: 30

Data:
w x y z
1 1 21 51 0
2 2 22 52 1
3 3 23 53 2
4 4 24 54 3
5 5 25 55 4
6 6 26 56 5
7 7 27 57 6
8 8 28 58 7
9 9 29 59 8
10 10 30 60 9

感谢 Ananda Mahto 和 David Arenburg 改进了我的原始答案。

关于R:从列表对象创建自定义输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480094/

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