←
PDF 183 / 520 Separating and Pull
→
English · PDF 183
Original PDF page 183
中文 · PDF 183

分离与提取

到目前为止,你已经学会了如何整理 table2 和 table4,但还没有学 table3。table3 有一个不同的问题:我们有一列(rate)包含了两个变量(cases 和 population)。要解决这个问题,我们需要使用 separate() 函数。你还将学习 separate() 的互补函数:unite(),当一个变量分散在多列中时,你可以使用它。

Separate

separate() 通过在分隔符出现的地方进行拆分,将一列拆分为多列。以 table3 为例:

table3

#> # A tibble: 6 × 3 #> country year rate #> * #> 1 Afghanistan 1999 745/19987071 #> 2 Afghanistan 2000 2666/20595360 #> 3 Brazil 1999 37737/172006362 #> 4 Brazil 2000 80488/174504898 #> 5 China 1999 212258/1272915272 #> 6 China 2000 213766/1280428583

rate 列同时包含 cases 和 population 两个变量,我们需要将它拆分为两个变量。separate() 接受要拆分的列名,以及拆分后各列的名称,如图 9-4 和以下代码所示:

table3 %>%

separate(rate, into = c("cases", "population")) #> # A tibble: 6 × 4 #> country year cases population #> * #> 1 Afghanistan 1999 745 19987071 #> 2 Afghanistan 2000 2666 20595360 #> 3 Brazil 1999 37737 172006362 #> 4 Brazil 2000 80488 174504898 #> 5 China 1999 212258 1272915272 #> 6 China 2000 213766 1280428583