niszetの日記

10年目エンジニアが最近勉強したことを忘れないようにメモをする

(R小ネタ) 前回の続き

小ネタです…

ggplot2のgeom_segmentは、aesとしてx,y,xend,yendをそれぞれ与えることで、各データを(x,y) (xend, yend)を結ぶ線分の形でプロットしてくれるようです。

詳しくはこちらをご参照ください
Line segments and curves — geom_segment • ggplot2

R4DSで使われていたflightsというデータセットがうまく使えそうかな?と思ったのでテストしてみます。

# install.packages("nycflights13")

library(nycflights13)
library(tidyverse)

flights %>%  na.omit() %>% ggplot()+geom_segment(aes(x=arr_time,y=dest,xend=arr_time+air_time,yend=dest))

これで、このような図が作れます。

f:id:niszet:20170711231405p:plain

前回と同じような図が出来ますね。ちょっと棒が長い気がするけど。(ひょっとしたら重なってるかもですね)
もうちょっと良いデータセットを探そうかな…xとxendにdateの方を使えばよい気もしますが…(日付型はちょっと…)

ということで(?)データからMIDIを作る方を今後は作ってみます。関数名はwrite_smf()になりますね。

次回進捗は3か月後かな…。writeはちょっと難しい(smfの仕様の把握が)ので時間がかかりそうです。
tuneRも、midiのreadはあるのですが、writeはないのですよね。なければ作ればいい…。作らなくてもいいけど…