gpt4 book ai didi

r - 在 r 中创建特殊数据对象

转载 作者:行者123 更新时间:2023-12-04 11:47:43 26 4
gpt4 key购买 nike

对于某些包,我可以看到特殊类型的对象。例如,当我尝试从包中打印数据集时收到以下消息。

multitrait

This is an object of class "cross".
It is too complex to print, so we provide just this summary.
RI strains via selfing

No. individuals: 162

......................and other summary information

is (multitrait)

 [1] "riself"

我想知道我们如何创建这样的对象。它们是数据框的特殊列表,向量矩阵。

X <- c("A", "B", "C")
Y <- data.frame (A = 1:10, B = 21:30, C = 31:40)
myeq <- c("Y ~ X1 + Y1")
K <- 100
A = 1:20
B = B= 21:40
J <- as.matrix(A,B )
myl1 <- list(J, K)

现在我的复杂对象:

mycomplexobject <- list(X, Y, myeq, K, J, myl1) 
mycomplexobject
str(mycomplexobject)

List of 6
$ : chr [1:3] "A" "B" "C"
$ :'data.frame': 10 obs. of 3 variables:
..$ A: int [1:10] 1 2 3 4 5 6 7 8 9 10
..$ B: int [1:10] 21 22 23 24 25 26 27 28 29 30
..$ C: int [1:10] 31 32 33 34 35 36 37 38 39 40
$ : chr "Y ~ X1 + Y1"
$ : num 100
$ : int [1:20, 1] 1 2 3 4 5 6 7 8 9 10 ...
$ :List of 2
..$ : int [1:20, 1] 1 2 3 4 5 6 7 8 9 10 ...
..$ : num 100

is(mycomplexobject)

 [1] "list"   "vector"

有没有办法制作特殊对象并防止打印整个列表而不是像“打印很复杂”这样的消息并提供摘要?

最佳答案

只需设置对象的 class 并提供 print 方法。

class(mycomplexobject) <- c("too_complex", class(mycomplexobject))
print.too_complex <- function(x) {
cat("Complex object of length", length(x), "\n")
}
mycomplexobject

关于r - 在 r 中创建特殊数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10038274/

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