當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R stack 從數據幀或列表中堆疊或取消堆疊向量


R語言 stack 位於 utils 包(package)。

說明

堆疊向量將多個向量連接成一個向量,並帶有一個指示每個觀察來源的因子。取消堆疊會反轉此操作。

用法

stack(x, ...)
## Default S3 method:
stack(x, drop=FALSE, ...)
## S3 method for class 'data.frame'
stack(x, select, drop=FALSE, ...)

unstack(x, ...)
## Default S3 method:
unstack(x, form, ...)
## S3 method for class 'data.frame'
unstack(x, form, ...)

參數

x

要堆疊或取消堆疊的列表或 DataFrame 。

select

一個表達式,指示從 DataFrame 中選擇哪個變量。

form

雙邊公式,其左側計算為要拆垛的向量,右側計算為要創建的組的指示符。 unstack 的數據幀方法中默認為 formula(x)

drop

是否從返回值的“ind”列中刪除未使用的級別。

...

傳入或傳出其他方法的進一步參數。

細節

stack 函數用於將 DataFrame 或列表中作為單獨列提供的數據轉換為可用於方差模型或其他線性模型分析的單個列。 unstack 函數反轉此操作。

請注意, stack 適用於向量(由 is.vector 確定):非向量列(例如因子)將被忽略並出現警告。在選擇不同類型的向量的情況下,它們由 unlist 連接起來,其幫助頁麵解釋了如何選擇結果的類型。

這些函數是通用的:提供的方法處理可通過 as.list 強製轉換為列表的數據幀和對象。

unstack 根據公式 form 生成列列表。如果所有列都具有相同的長度,則結果列表將被強製為 DataFrame 。

stack 生成一個包含兩列的 DataFrame :

values

連接 x 中選定向量的結果。

ind

指示觀察源自 x 中的哪個向量的因子。

例子

require(stats)
formula(PlantGrowth)         # check the default formula
pg <- unstack(PlantGrowth)   # unstack according to this formula
pg
stack(pg)                    # now put it back together
stack(pg, select = -ctrl)    # omitting one vector

作者

Douglas Bates

也可以看看

lm , reshape

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Stack or Unstack Vectors from a Data Frame or List。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。