這是 tidyr unite()
泛型的方法。
參數
- data
-
一個 DataFrame 。
- col
-
新列的名稱,作為字符串或符號。
該參數通過表達式傳遞並支持quasiquotation(您可以取消引用字符串和符號)。該名稱是從帶有
rlang::ensym()
的表達式中捕獲的(請注意,這種符號不代表實際對象的接口現在在 tidyverse 中不鼓勵使用;我們在這裏支持它是為了向後兼容)。 - ...
-
<
tidy-select
> 要合並的列 - sep
-
值之間使用的分隔符。
- remove
-
如果
TRUE
,則從輸出數據幀中刪除輸入列。 - na.rm
-
如果是
TRUE
,則在合並每個值之前將刪除缺失值。
例子
library(tidyr)
df <- lazy_dt(expand_grid(x = c("a", NA), y = c("b", NA)))
df
#> Source: local data table [4 x 2]
#> Call: `_DT41`
#>
#> x y
#> <chr> <chr>
#> 1 a b
#> 2 a NA
#> 3 NA b
#> 4 NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
df %>% unite("z", x:y, remove = FALSE)
#> Source: local data table [4 x 3]
#> Call: setcolorder(copy(`_DT41`)[, `:=`(z = paste(x, y, sep = "_"))],
#> c("z", "x", "y"))
#>
#> z x y
#> <chr> <chr> <chr>
#> 1 a_b a b
#> 2 a_NA a NA
#> 3 NA_b NA b
#> 4 NA_NA NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
# Separate is almost the complement of unite
df %>%
unite("xy", x:y) %>%
separate(xy, c("x", "y"))
#> Source: local data table [4 x 2]
#> Call: copy(`_DT41`)[, `:=`(xy = paste(x, y, sep = "_"))][, `:=`(c("x",
#> "y"), NULL)][, `:=`(c("x", "y"), tstrsplit(xy, split = "[^[:alnum:]]+"))][,
#> `:=`("xy", NULL)]
#>
#> x y
#> <chr> <chr>
#> 1 a b
#> 2 a NA
#> 3 NA b
#> 4 NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
# (but note `x` and `y` contain now "NA" not NA)
相關用法
- R dtplyr lazy_dt 創建一個“惰性”data.table 以與 dplyr 動詞一起使用
- R dtplyr group_modify.dtplyr_step 對每個組應用一個函數
- R dtplyr transmute.dtplyr_step 創建新列,刪除舊列
- R dtplyr slice.dtplyr_step 使用行的位置對行進行子集化
- R dtplyr left_join.dtplyr_step 連接數據表
- R dtplyr fill.dtplyr_step 用上一個或下一個值填充缺失值
- R dtplyr filter.dtplyr_step 使用列值對行進行子集化
- R dtplyr mutate.dtplyr_step 創建和修改列
- R dtplyr distinct.dtplyr_step 子集不同/唯一行
- R dtplyr nest.dtplyr_step 巢
- R dtplyr relocate.dtplyr_step 使用變量名稱重新定位變量
- R dtplyr head.dtplyr_step 對第一行或最後一行進行子集化
- R dtplyr expand.dtplyr_step 擴展 DataFrame 以包含所有可能的值組合。
- R dtplyr group_by.dtplyr_step 分組和取消分組
- R dtplyr intersect.dtplyr_step 設置操作
- R dtplyr pivot_wider.dtplyr_step 將數據從長軸轉向寬軸
- R dtplyr summarise.dtplyr_step 將每組匯總為一行
- R dtplyr count.dtplyr_step 按組計數觀察值
- R dtplyr select.dtplyr_step 使用名稱對列進行子集化
- R dtplyr drop_na.dtplyr_step 刪除包含缺失值的行
- R dtplyr complete.dtplyr_step 完成缺少數據組合的 DataFrame
- R dtplyr collect.dtplyr_step 強製計算惰性 data.table
- R dtplyr arrange.dtplyr_step 按列值排列行
- R dtplyr separate.dtplyr_step 使用正則表達式或數字位置將字符列分成多列
- R dtplyr rename.dtplyr_step 使用名稱重命名列
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Unite multiple columns into one by pasting strings together.。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。