Mulai sekarangMulai gratis

lapply() pada data frame

Jika, alih-alih sebuah list, Anda memiliki data frame berisi return saham, apakah Anda tetap bisa menggunakan lapply()? Ya! Mungkin mengejutkan, data frame sebenarnya adalah list di balik layar, dan pemanggilan lapply() akan menerapkan fungsi ke setiap kolom dalam data frame.

df
  a b
1 1 4
2 2 6

class(df)
[1] "data.frame"

lapply(df, FUN = sum)
$a
[1] 3

$b
[1] 10

lapply() menjumlahkan setiap kolom dalam data frame, tetapi tetap mengikuti konvensinya untuk selalu mengembalikan sebuah list. Sebuah data frame berisi return harian saham dalam bentuk desimal bernama stock_return telah disediakan.

Latihan ini merupakan bagian dari kursus

R Tingkat Menengah untuk Keuangan

Lihat Kursus

Instruksi latihan

  • Cetak stock_return untuk melihat data frame.
  • Gunakan lapply() untuk mendapatkan rata-rata (mean) dari setiap kolom.
  • Buat fungsi untuk rasio Sharpe. Fungsi ini harus mengambil rata-rata return, menguranginya dengan tingkat bebas risiko (.03%), lalu membaginya dengan simpangan baku (standard deviation) dari return.
  • Gunakan lapply() untuk menghitung rasio Sharpe dari setiap kolom.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Print stock_return
___

# lapply to get the average returns
___

# Sharpe ratio
sharpe <- function(returns) {
    (___ - .0003) / ___
}

# lapply to get the sharpe ratio
___
Edit dan Jalankan Kode