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


R as.data.frame 強製數據幀


R語言 as.data.frame 位於 base 包(package)。

說明

檢查對象是否是 DataFrame 的函數,或者如果可能的話強製它。

用法

as.data.frame(x, row.names = NULL, optional = FALSE, ...)

## S3 method for class 'character'
as.data.frame(x, ...,
              stringsAsFactors = FALSE)

## S3 method for class 'list'
as.data.frame(x, row.names = NULL, optional = FALSE, ...,
              cut.names = FALSE, col.names = names(x), fix.empty.names = TRUE,
              check.names = !optional,
              stringsAsFactors = FALSE)

## S3 method for class 'matrix'
as.data.frame(x, row.names = NULL, optional = FALSE,
              make.names = TRUE, ...,
              stringsAsFactors = FALSE)

as.data.frame.vector(x, row.names = NULL, optional = FALSE, ...,
                     nm = deparse1(substitute(x)))

is.data.frame(x)

參數

x

任何R對象。

row.names

NULL 或給出 DataFrame 行名稱的字符向量。不允許存在缺失值。

optional

合乎邏輯的。如果TRUE,設置行名稱並轉換列名稱(到語法名稱:請參閱make.names) 是可選的。請注意,所有Rbaseas.data.frame()使用方法optional隻對列名處理,基本同意data.frame(*, check.names = !optional)。另請參閱make.names的論點matrix方法。

...

要傳遞給方法或從方法傳遞的附加參數。

stringsAsFactors

邏輯:字符向量應該轉換為因子嗎?

cut.names

邏輯或整數;指示是否應縮短包含超過 256 個字符(或 cut.names 如果是數字)字符的列名稱(並用 " ..." 替換最後 6 個字符)。

col.names

(可選)列名稱的字符向量。

fix.empty.names

邏輯指示是否應修複空列名稱,即 "" (在 data.frame 中)。

check.names

邏輯性;傳遞給data.frame() 調用。

make.names

a logical ,即 FALSE, NA, TRUE 之一,指示如果(矩陣 x 的)行名稱無效應該發生什麽。如果它們無效,則默認 TRUE 調用 make.names(*, unique=TRUE)make.names=NA 將使用 “automatic” 行名稱,而 FALSE 值將指示無效行名稱的錯誤。

nm

用作列名稱的 character 字符串。

細節

as.data.frame 是一個具有許多方法的通用函數,用戶和包可以提供更多方法。對於充當向量的類,通常 as.data.frame.vector 的副本將用作方法。

自從R4.3.0,默認方法將調用as.data.frame.vector()對於原子(如is.atomic)非NULL x.

直接調用as.data.frame.<class>()對於 12 個原子基類,仍然是可能的(基包!),但將被棄用(通過設置環境變量已經明顯可見)_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_到非空)在哪裏調用as.data.frame.vector()相反,推薦。

如果提供列表,每個元素都會轉換為 DataFrame 中的一列。類似地,矩陣的每一列都被單獨轉換。如果對象的類具有 as.data.frame 的方法,則可以覆蓋此設置:兩個示例是類 "model.matrix" 的矩陣(作為單列包含)和類 "POSIXlt" 的列表對象(強製轉換為類) "POSIXct"

數組可以轉換為 DataFrame 。一維數組被視為向量,二維數組被視為矩陣。二維以上的數組通過 ‘flattening’ 第一個之後的所有維度轉換為矩陣並創建合適的列標簽。

除非受 I 保護,否則字符變量將轉換為因子列。

如果提供了數據幀,則 "data.frame" 之前的所有類都將被刪除,並且如果提供了該參數,則行名稱將被更改。

如果是 row.names = NULL ,則行名稱是根據 x 的名稱或暗名稱構造的,否則是從 1 開始的整數序列。很少有方法檢查重複的行名稱。名稱將從向量列中刪除,除非 I

as.data.frame 返回一個數據幀,通常包含所有行名稱 ""(如果 optional = TRUE )。

如果 is.data.frame 的參數是數據幀(即,其類中有 "data.frame"),則返回 TRUE,否則返回 FALSE

參考

Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

也可以看看

data.frameas.data.frame.table 用於 table 方法(如果直接調用,則具有附加參數)。

相關用法


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