2016-01-26 146 views
1

通用相關問題[R查找多維數組維大小

可能有人請點我的函數/方法以獲得R A多維列表或數據結構的尺寸大小?

瞭解訪問這個更大數據結構中各個元素的方法也很有用嗎? (下面的相關問題)::

上採樣輸入和輸出數據下面

問題輸入數據是使用該命令轉換成輸出數據

lst <- lapply(split(df2[-1], df2$Column_Zero), function(x) 
     acast(x, Column_Two~Column_One,value.var="Column_Three")) 
  1. 創建多少矩陣?
  2. 如何訪問創建的每個子矩陣的名稱?
  3. 每個子矩陣有多少列?
  4. 每個子矩陣有多少行?
  5. 哪個子矩陣具有最大/最小列數/行數?

輸入數據:

Column_Zero, Column_One, Column_Two, Column_Three 

XX,A, 1, 4 
XX,A, 2, 3 
XX,A, 3, 77 
XX,B, 1, 44 
XX,B, 2, 32 
XX,B, 3, 770 
XX,C, 1, 43 
XX,C, 2, 310 
XX,C, 3, 68  
YY,A1, 1, 4 
YY,A1, 2, 3 
YY,A1, 3, 77 
YY,B1, 1, 44 
YY,B1, 2, 32 
YY,B1, 3, 770 
YY,C1, 1, 43 
YY,C1, 2, 310 
YY,C1, 3, 68 
YY,D2, 1, 4 
YY,D2, 2, 5 
YY,D2, 3, 6 

---------等等-----

輸出數據:

- ----數據表一個------

A, B, C 
4, 44, 43 
3, 32, 310 
77, 770, 68 

------數據表二------

A1, B1, C1, D2 
4, 44, 43,4 
3, 32, 310,5 
77, 770, 68,6 

------等等-----

相關問題: 這都在相關的問題中,我們正在分裂一個數據表並重塑它。因此知道更小的數據結構/矩陣或數據表有多大變得很重要。

R convert Datatable distinct column values to column names and column values as values from another column

請讓或我知道,如果有什麼不太明白,如果你需要任何進一步的信息。

+0

你能告訴你的「相關問題」輸入的實例和期望的輸出? – Rick

+0

請閱讀[Ask]上的信息以及如何給出[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) – Jaap

+0

[查看關於如何格式化問題文本的幫助頁面](http://stackoverflow.com/editing-help)以獲取更多信息 – Jaap

回答

0

的問題的答案是

  1. 多少矩陣產生的?

由於每個list元件的是一個matrix,我們可以使用length找到matrices

length(lst) 
#[1] 2 

數量在情況下,如果有其他的目的(在一般情況下)

sum(sapply(lst, is.matrix)) 
#[1] 2 
  1. 如何訪問創建的每個子矩陣的名稱?

我們可以使用names

names(lst) 
  • 多少列的每個子矩陣具有?
  • 我們可以通過遍歷找出lst

    sapply(lst, ncol) 
    # XX YY 
    # 3 4 
    
  • 多少行每個子矩陣有?
  • 與上述相同,將ncol替換爲nrow。我們可以通過使用dim

    lapply(lst, dim) 
    
    同時獲得
  • 哪個子矩陣中的列/行的最大/最小數目?
  • 我們可以使用which.minwhich.max在循環'lst'後找到索引。

    lst[which.min(sapply(lst, ncol))] 
    lst[which.max(sapply(lst, ncol))] 
    

    ,並同樣可以做到對nrow

    +1

    ...感謝您的答案。我會盡快嘗試。但我已經接受了答案,因爲我之前知道你的解決方案是現成的。 – texmex

    +0

    @texmex感謝您的接受。如果您遇到任何問題,請讓我知道。 – akrun

    0
    # Is this what you need to see? 
    k <- 1:60 
    # data structure with three dimensions 
    dim(k) <- c(3,4,5) 
    # Question 1: see the dimensions of k 
    dim(k) 
    # Question 2: show a two dimensional part of k 
    k[,,1] 
    
    +0

    感謝您的回答。有關示例輸入和輸出的信息,請參閱相關問題... akrun的答案顯示了此處使用的變量。當我試圖在分割和夸脫後的輸出數據結構(lst)上昏暗時,我得到空...我能夠做到這一點,並昏暗(lst [[1]])等 – texmex