分組切割
很多時候,你會把多個群組的資料放在同一個 data frame 裡。cash 這個 data frame 在第 3 章就是這樣的例子。它有兩個群組(公司 A 與 B)的 cash_flow 與 year 欄位。如果你想把這個 data frame 依 company 分成兩個獨立的 data frame 呢?下一個練習會帶你看看為什麼要這麼做,但在此之前,我們先學會要怎麼做,使用 split() 函式。
先建立一個用來切割的 grouping,然後用 split() 產生一個包含兩個 data frame 的「list」。
grouping <- cash$company
split_cash <- split(cash, grouping)
split_cash
$A
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
$B
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
若要還原成原本的 data frame,使用 unsplit(split_cash, grouping)。
本練習屬於課程
R for Finance 入門
練習說明
cashdata frame 已經在你的工作空間中。- 用
year欄位建立新的grouping。 - 使用
split()將cash依year分成包含 5 個 data frame 的 list。指定給split_cash。 - 列印
split_cash。 - 使用
unsplit()再次合併這些 data frame。指定給original_cash。 - 列印
original_cash,與一開始的cashdata frame 比較。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define grouping from year
grouping <-
# Split cash on your new grouping
split_cash <-
# Look at your split_cash list
# Unsplit split_cash to get the original data back.
original_cash <-
# Print original_cash