0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rの基本とPython

Last updated at Posted at 2021-02-04

はじめに

平均や分散などのRの基礎の基礎をPythonでも書き換えていく。

#Rの基礎(平均等々)

コード
data <- c(10,13,8,15,8) #データ

sum(data) #合計
length(data) #データ数
mean(data) #平均
median(data) #中央値
var(data) #不偏分散
sd(data) #標準偏差
出力
[1] 54
[1] 5
[1] 10.8
[1] 10
[1] 9.7
[1] 3.114482

#Pythonへ

標準のモジュールを使うと以下の様になる。

コード
from statistics import mean, median,variance,stdev

data = [10,13,8,15,8] #データ

print(sum(data)) #合計
print(len(data)) #データ数
print(mean(data)) #平均
print(median(data)) #中央値
print(variance(data)) #不偏分散
print(stdev(data)) #標準偏差
出力
54
5
10.8
10
9.7
3.1144823004794873

これをリストではなくnumpy.arrayで書き直すと以下の様になる。numpy では分散を求める関数がデフォルトでは標本分散になっているので、不偏分散にするためにはddof=1の引数が必要になる。

コード
import numpy as np

data = np.array([10,13,8,15,8]) #データ

print(np.sum(data)) #合計
print(data.shape[0]) #データ数
print(np.mean(data)) #平均
print(np.median(data)) #中央値
print(np.var(data, ddof=1)) #不偏分散
print(np.std(data, ddof=1)) #標準偏差
出力
54
5
10.8
10.0
9.700000000000001
3.1144823004794877

numpy で計算すると15桁くらいでずれてしまう。丸め誤差の影響か...。

何桁まで扱うかは注意が必要。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?