幾個建立清單的函式

R for Finance 入門

Lore Dirick

Manager of Data Science Curriculum at Flatiron School

用 split() 分組

debt
  name payment
1  Dan     100
2  Dan     200
3  Dan     150
4  Rob      50
5  Rob      75
6  Rob     100
R for Finance 入門

用 split() 分組

grouping <- debt$name

split_debt <- split(debt, grouping)

split_debt
$Dan
  name payment
1  Dan     100
2  Dan     200
3  Dan     150

$Rob
  name payment
4  Rob      50
5  Rob      75
6  Rob     100
R for Finance 入門

用 split() 分組

split_debt$Dan
  name payment
1  Dan     100
2  Dan     200
3  Dan     150
split_debt$Dan$payment
100 200 150
unsplit(split_debt, grouping)
  name payment
1  Dan     100
2  Dan     200
3  Dan     150
4  Rob      50
5  Rob      75
6  Rob     100
R for Finance 入門

split() 範例

  • Dan 與 Rob 需分別計算
  • Dan 打 8 折,Rob 打 9 折
    • 依姓名分割資料框
    • 套用折扣
    • 再合併回資料框
  • "split-apply-combine"
R for Finance 入門

split-apply-combine

split_debt <- split(debt, grouping)
grouping <- debt$name

split_debt$Dan$new_payment <- split_debt$Dan$payment * .8 split_debt$Rob$new_payment <- split_debt$Rob$payment * .9
split_debt
$Dan
  name payment new_payment
1  Dan     100          80
2  Dan     200         160
3  Dan     150         120

$Rob
  name payment new_payment
4  Rob      50        45.0
5  Rob      75        67.5
6  Rob     100        90.0
R for Finance 入門

split-apply-combine

unsplit(split_debt, grouping)
  name payment new_payment
1  Dan     100        80.0
2  Dan     200       160.0
3  Dan     150       120.0
4  Rob      50        45.0
5  Rob      75        67.5
6  Rob     100        90.0
R for Finance 入門

屬性(Attributes)

my_matrix <- matrix(c(1,2,3,4,5,6), nrow = 2, ncol = 3)

attributes(my_matrix)
$dim
2 3
attributes(debt)
$names
"name"    "payment"

$row.names
1 2 3 4 5 6

$class
"data.frame"
R for Finance 入門

一起來練習吧!

R for Finance 入門

Preparing Video For Download...