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


R tibble rownames 用於處理行名稱的工具


雖然 tibble 可以有行名稱(例如,從常規數據幀轉換時),但在使用 [ 運算符進行子集化時,它們會被刪除。嘗試將非 NULL 行名稱分配給 tibble 時,將引發警告。一般來說,最好避免行名稱,因為它們本質上是一個字符列,其語義與其他列不同。

這些函數允許您檢測 DataFrame 是否具有行名稱(has_rownames()),刪除它們(remove_rownames()),或在顯式列(rownames_to_column()column_to_rownames())之間轉換它們back-and-forth。還包括 rowid_to_column() ,它在從 1 開始的升序連續行 id 的數據幀的開頭添加一列。請注意,這將刪除任何現有的行名稱。

用法

has_rownames(.data)

remove_rownames(.data)

rownames_to_column(.data, var = "rowname")

rowid_to_column(.data, var = "rowid")

column_to_rownames(.data, var = "rowname")

參數

.data

一個 DataFrame 。

var

用於行名稱的列名稱。

column_to_rownames() 始終返回數據幀。 has_rownames() 返回邏輯標量。所有其他函數返回與輸入相同類的對象。

例子

# Detect row names ----------------------------------------------------
has_rownames(mtcars)
#> [1] TRUE
has_rownames(trees)
#> [1] FALSE

# Remove row names ----------------------------------------------------
remove_rownames(mtcars) %>% has_rownames()
#> [1] FALSE

# Convert between row names and column --------------------------------
mtcars_tbl <- rownames_to_column(mtcars, var = "car") %>% as_tibble()
mtcars_tbl
#> # A tibble: 32 × 12
#>    car     mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
#>    <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#>  1 Mazd…  21       6  160    110  3.9   2.62  16.5     0     1     4     4
#>  2 Mazd…  21       6  160    110  3.9   2.88  17.0     0     1     4     4
#>  3 Dats…  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1
#>  4 Horn…  21.4     6  258    110  3.08  3.22  19.4     1     0     3     1
#>  5 Horn…  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2
#>  6 Vali…  18.1     6  225    105  2.76  3.46  20.2     1     0     3     1
#>  7 Dust…  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4
#>  8 Merc…  24.4     4  147.    62  3.69  3.19  20       1     0     4     2
#>  9 Merc…  22.8     4  141.    95  3.92  3.15  22.9     1     0     4     2
#> 10 Merc…  19.2     6  168.   123  3.92  3.44  18.3     1     0     4     4
#> # … with 22 more rows
column_to_rownames(mtcars_tbl, var = "car") %>% head()
#>                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
#> Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

# Adding rowid as a column --------------------------------------------
rowid_to_column(trees) %>% head()
#>   rowid Girth Height Volume
#> 1     1   8.3     70   10.3
#> 2     2   8.6     65   10.3
#> 3     3   8.8     63   10.2
#> 4     4  10.5     72   16.4
#> 5     5  10.7     81   18.8
#> 6     6  10.8     83   19.7

源代碼:R/rownames.R

相關用法


注:本文由純淨天空篩選整理自Kirill Müller等大神的英文原創作品 Tools for working with row names。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。