0. 最近新學了 R 語言
- 把她拿來與 舊學 Python 並排比較學習。
- 拿她們來畫幾個機率與統計的分布。
- 發現她們各擅勝場。
1. R
quit
N= 1000
Z= rnorm(n= N)
k= 10
aL= c()
for (i in 1:k){
aL= rbind(aL, rnorm(n= N)^2)}
X2= colSums(aL)
T= Z/(X2/k)^.5
B= 30
boxplot(Z, horizontal = TRUE); grid()

hist(Z, breaks = B); grid()

boxplot(X2, horizontal = TRUE); grid()

hist(X2, breaks = B); grid()

boxplot(T, horizontal = TRUE); grid()

hist(T, breaks = B); grid()

NA
NA
2. Python
reticulate::repl_python()
import numpy as np
import matplotlib.pyplot as pl
import pandas as pd
import seaborn as sb
import scipy.stats as st
N= 1000
Z= st.norm.rvs(size= N)
k= 10
X2= sum([st.norm.rvs(size= N)**2
for i in range(k)]
)
T= Z/(X2)**.5
#%%
pl.cla()
ax= sb.boxplot(data=Z, orient='h')
ax.grid(True)
pl.show()

pl.cla()
ax= sb.histplot(Z, kde=True)
ax.grid(True)
pl.show()

pl.cla()
ax= sb.boxplot(data=X2, orient='h')
ax.grid(True)
pl.show()

pl.cla()
ax= sb.histplot(X2, kde=True)
ax.grid(True)
pl.show()

pl.cla()
ax= sb.boxplot(data=T, orient='h')
ax.grid(True)
pl.show()

pl.cla()
ax= sb.histplot(T, kde=True)
ax.grid(True)
pl.show()

LS0tDQp0aXRsZTogIlIgdnMgUHl0aG9uIg0KYXV0aG9yOiAiUmVueXVhbiBMeXUiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCg0KIyAwLiDmnIDov5HmlrDlrbjkuoYgUiDoqp7oqIANCi0g5oqK5aW55ou/5L6G6IiHIOiIiuWtuCBQeXRob24g5Lim5o6S5q+U6LyD5a2457+S44CCDQotIOaLv+WlueWAkeS+hueVq+W5vuWAi+apn+eOh+iIh+e1seioiOeahOWIhuW4g+OAgg0KLSDnmbznj77lpbnlgJHlkITmk4Xli53loLTjgIINCg0KDQojIDEuIFINCg0KLSBOb3JtYWwsICRcY2hpXjIkLCBUDQoNCmBgYHtyfQ0KTj0gMTAwMA0KWj0gcm5vcm0obj0gTikNCg0KDQprPSAxMA0KDQphTD0gYygpDQpmb3IgKGkgaW4gMTprKXsNCiAgYUw9IHJiaW5kKGFMLCBybm9ybShuPSBOKV4yKX0NCg0KWDI9IGNvbFN1bXMoYUwpDQoNClQ9IFovKFgyL2spXi41DQoNCkI9IDMwDQoNCmJveHBsb3QoWiwgaG9yaXpvbnRhbCA9IFRSVUUpOyBncmlkKCkNCmhpc3QoWiwgYnJlYWtzID0gQik7IGdyaWQoKQ0KDQpib3hwbG90KFgyLCBob3Jpem9udGFsID0gVFJVRSk7IGdyaWQoKQ0KaGlzdChYMiwgYnJlYWtzID0gQik7IGdyaWQoKQ0KDQpib3hwbG90KFQsIGhvcml6b250YWwgPSBUUlVFKTsgZ3JpZCgpDQpoaXN0KFQsIGJyZWFrcyA9IEIpOyBncmlkKCkNCg0KDQpgYGANCg0KDQojIDIuIFB5dGhvbg0KDQotIE5vcm1hbCwgJFxjaGleMiQsIFQNCg0KYGBge3B5dGhvbn0NCg0KaW1wb3J0IG51bXB5IGFzIG5wDQppbXBvcnQgbWF0cGxvdGxpYi5weXBsb3QgYXMgcGwNCmltcG9ydCBwYW5kYXMgIGFzIHBkDQppbXBvcnQgc2VhYm9ybiBhcyBzYg0KaW1wb3J0IHNjaXB5LnN0YXRzIGFzIHN0DQoNCg0KTj0gMTAwMA0KWj0gICBzdC5ub3JtLnJ2cyhzaXplPSBOKQ0KDQprPSAxMA0KWDI9ICBzdW0oW3N0Lm5vcm0ucnZzKHNpemU9IE4pKioyIA0KICAgICAgICAgIGZvciBpIGluIHJhbmdlKGspXQ0KICAgICAgICAgICkNClQ9ICAgWi8oWDIpKiouNQ0KDQojJSUNCnBsLmNsYSgpDQpheD0gc2IuYm94cGxvdChkYXRhPVosIG9yaWVudD0naCcpDQpheC5ncmlkKFRydWUpDQpwbC5zaG93KCkNCg0KcGwuY2xhKCkNCmF4PSBzYi5oaXN0cGxvdChaLCBrZGU9VHJ1ZSkNCmF4LmdyaWQoVHJ1ZSkNCnBsLnNob3coKQ0KDQpwbC5jbGEoKQ0KYXg9IHNiLmJveHBsb3QoZGF0YT1YMiwgb3JpZW50PSdoJykNCmF4LmdyaWQoVHJ1ZSkNCnBsLnNob3coKQ0KDQpwbC5jbGEoKQ0KYXg9IHNiLmhpc3RwbG90KFgyLCBrZGU9VHJ1ZSkNCmF4LmdyaWQoVHJ1ZSkNCnBsLnNob3coKQ0KDQpwbC5jbGEoKQ0KYXg9IHNiLmJveHBsb3QoZGF0YT1ULCBvcmllbnQ9J2gnKQ0KYXguZ3JpZChUcnVlKQ0KcGwuc2hvdygpDQoNCg0KcGwuY2xhKCkNCmF4PSBzYi5oaXN0cGxvdChULCBrZGU9VHJ1ZSkNCmF4LmdyaWQoVHJ1ZSkNCnBsLnNob3coKQ0KDQpgYGANCg0K