我想將類對象放到一個數組中,所以我可以引用多個類對象。然而,當我把它放入數組中時,類信息似乎消失了。我該如何解決?如何在R中創建一個類的數組?
3
A
回答
7
數組不是正確的工具,因爲它們是原子的(所以只允許一種基本類型的數據),並且只允許數字或字符數據。列表是R中的通用向量,因此列表中的每個組件都可以包含任何類型的對象。
下面是兩個用戶定義S3的類的例子:我想你誤解的概念「陣列」在R中的R的陣列不是不同對象的矢量,但一個多維對象
> foo <- 1:10
> class(foo) <- "foo"
> bar <- "a"
> class(bar) <- "bar"
>
> obj <- list(foo = foo, bar = bar)
> obj
$foo
[1] 1 2 3 4 5 6 7 8 9 10
attr(,"class")
[1] "foo"
$bar
[1] "a"
attr(,"class")
[1] "bar"
5
只有一個類的元素。 A list
是可以用來存儲任何你想要的R對象。如果你願意,你甚至可以給它尺寸,這樣你就可以得到一個多維列表,它將與你描述的數組相對應。這必須用雙方括號索引。
例子:
# A list with different objects:
foo <- list("A","B","C","D",1,2,3,4,TRUE,TRUE,FALSE,FALSE)
# Add dimensions:
dim(foo) <- c(2,2,3)
> foo
, , 1
[,1] [,2]
[1,] "A" "C"
[2,] "B" "D"
, , 2
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 3
[,1] [,2]
[1,] TRUE FALSE
[2,] TRUE FALSE
# index row 1 col 1 slice 1
> foo[[1,1,1]]
[1] "A"
相關問題
- 1. 我如何在R中創建一個靜態數組
- 2. 如何從R中的z數組中創建一個列表?
- 3. 如何在Swift中創建一個類(存儲在數組中)?
- 4. GNU R,創建一個新的數組
- 5. 如何在C++中創建一個類的數組?
- 6. 如何在Java中創建一個類的方法數組
- 7. 在另一個類中創建一個類的數組
- 8. 如何從另一個類中定義的類創建數組
- 9. 如何在R中多於或少於R的類別中創建組數據?
- 10. 如何在R中創建一個獨特的向量組合?
- 11. R:如何在組內創建一個四分位數列
- 12. 如何在ruby中創建一個類對象數組
- 13. 如何在Java中創建一個類型變量數組?
- 14. 如何在C++中創建一個結構類型數組
- 15. 如何在C中創建一個struct數組的數組?
- 16. 如何在C++中創建一個隨機數組的數組
- 17. 如何在matlab中創建一個空數組的數組?
- 18. 如何從一組類中創建一個類的實例?
- 19. C++一個對象(創建)在另一個類中的數組
- 20. 如何在Swift的類級別創建一個UIImageView數組?
- 21. 如何在一個數組中創建另一個數組(VBA)中的值?
- 22. 如何在R中創建類似探測名稱的組?
- 23. 如何在R中創建try-error類
- 24. 如何在R中創建聚類圖?
- 25. 如何創建一個從R中
- 26. 如何在Perl中創建一個動態數組數組?
- 27. 如何在Javascript中創建一個數組數組?
- 28. 創建一個類的數組
- 29. Swift - 創建一個類的數組
- 30. 創建一個類的數組Angular 2
把你的對象列表來代替。如果你用一些數據和代碼創建一個小例子,有人可以幫助你。 – Andrie 2012-02-29 10:24:26
@Andrie哎呀,對不起,偷了你的答覆/評論。當我開始寫我的答案時,沒有任何評論(在項目會議中多任務處理 - 不是wifi很棒!) – 2012-02-29 10:46:50
@Gavin:什麼?會議期間你沒有忙於FB嗎? :-) – 2012-02-29 12:30:36