gpt4 book ai didi

子集时保留 R 对象的类属性

转载 作者:行者123 更新时间:2023-12-04 08:27:37 26 4
gpt4 key购买 nike

我有一个名为gene_table 的R 对象,它有类foo .现在我将这个gene_table子集
gene_data = gene_table[1:100,1:5]
但是,当我调用 class(gene_data) , 它不再属于 foo 类, 但是它有类 matrix .这让我很头疼,因为我的方法 summary.foo不会识别类矩阵的这个对象gene_data。我希望在子集时保留原始类属性,所以有人能告诉我该怎么做吗?谢谢!

更新:dput(head(gene_table))给我

c(5.21708054951994, 5.01224214039806, 4.92160314073853, 4.83031021496, 4.78552614584879, 4.77821370665578)

str(gene_table)给我
 foo [1:22743, 1:2] 5.22 5.01 4.92 4.83 4.79 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:22743] "ENSG00000127954" "ENSG00000151503" "ENSG00000096060" "ENSG00000091879" ...
..$ : chr [1:2] "Var1" "Var2"

最佳答案

您可以使用类似这样的内容作为 [.foo 的定义。 :

`[.foo` <- function(x, ..., drop=TRUE) {
structure(NextMethod(), class="foo")
}

您可能需要添加其他内容,具体取决于您的 "foo" 的复杂性。类(class)。

关于子集时保留 R 对象的类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610072/

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