Wolfram言語

時系列の処理

有人宇宙飛行

MannedSpaceMissionDataは,有人の宇宙探査に関する情報を,過去から現在のものまで提供する.

In[1]:=
Click for copyable input
missions = MannedSpaceMissionData[];

ベクトル値で各宇宙飛行の実体と継続期間を保存した,宇宙船の打上げ日に基づいたEventSeriesを生成することができる.

In[2]:=
Click for copyable input
data = DeleteMissing[ MannedSpaceMissionData[ missions, {"LaunchDate", "Entity", "MissionDuration"}], 1, 2];
In[3]:=
Click for copyable input
es = EventSeries[data[[All, {2, 3}]], {data[[All, 1]]}]
Out[3]=

タイムスタンプのTimelinePlotは1961年以来の有人宇宙飛行がほぼ継続的であったことを示す.

In[4]:=
Click for copyable input
TimelinePlot[es["Dates"]]
Out[4]=

宇宙飛行の期間を解析するために,もとの事象系列の第2の要素を抽出し,値を時間に変換する.

In[5]:=
Click for copyable input
durations = UnitConvert[es["PathComponent", 2], "Hours"]
Out[5]=

短期間の宇宙飛行が一般的である.

In[6]:=
Click for copyable input
Histogram[durations, Quantity[{0, 6000, 500}, "Hours"], AxesLabel -> Automatic]
Out[6]=
完全なWolfram言語入力を表示する
In[7]:=
Click for copyable input
x1 = 250; x2 = 4500; line1 = {{es["FirstDate"], x1}, {es["LastDate"], x1}}; line2 = {{es["FirstDate"], x2}, {es["LastDate"], x2}}; opts = {Joined -> {False, True, True}, Filling -> {1 -> 0}, PlotLabels -> {None, Quantity[x1, "Hours"], UnitConvert[Quantity[N[x2, 4], "Hours"], "Days"]}};
In[8]:=
Click for copyable input
DateListPlot[{durations, line1, line2}, opts]
Out[8]=

宇宙飛行の期間の記述統計量を計算する.平均値と中央値が大きく離れていることから,裾の長い分布が示唆される.

In[9]:=
Click for copyable input
stats = {Min, Max, Mean, Median}; convert := UnitConvert[N[#], MixedUnit[{"Months", "Days", "Hours", "Minutes"}]] &
In[10]:=
Click for copyable input
TableForm[Map[convert[#[durations]] &, stats], TableHeadings -> {stats}]
Out[10]//TableForm=

以下は人類が宇宙に滞在した合計時間である.

In[11]:=
Click for copyable input
UnitConvert[Total[durations], MixedUnit[{"Years", "Months", "Days", "Hours", "Minutes", "Seconds"}]]
Out[11]=

関連する例

de en es fr ko pt-br ru zh