0
3

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 1 year has passed since last update.

Python&R比較表

Last updated at Posted at 2022-12-06

プログラミング基礎

算術演算子

image.png

比較演算子(共通)

image.png

文字型

python
type(3)
R
mode(3)

image.png

変数

python
x = 10 #変数xに10を代入
x #変数xを取り出す

Rは<-と=の二つ使えるが慣例的に<-を使う

R
x <- 10 #変数xに10を代入 
x #変数xを取り出す

文字列の代入

python
z = 'hello world!' #文字列を代入するときは'',""のどちらかで囲む
z
R
z <- 'hello world!' #文字列を代入するときは'',""のどちらかで囲む
z

image.png

配列

python
a = [1,2,3,4,5,10]
a
python
b = len(a)#要素数を取得
b
python
a[0] #最初の要素を取得
python
a[-1]#最後の要素を取得
python
a[b-1]#最後の要素を取得
R
a <- c(1,2,3,4,5,10)
a
R
length(a) #要素数を取得
R
a[1] #最初の要素を取得
R
a[length(a)] #最後の要素を取得

image.png

python
a[0:3] #1~3番目の要素を取得
python
a[2:] #3番目以降の要素を取得
python
a[:3] #3番目までの要素を取得
R
a[1:3]#1~3番目の要素を取得
R
a[3:length(a)]#3番目以降の要素を取得

image.png

処理

image.png

分岐

python
a = 3

if a == 3:
    print('a is 3')
else:
    print('a is not 3')
R
a <- 3

if (a == 3){
    print('a is 3')
}else{
    print('a is not 3')
}

image.png

論理演算子

論理積

python
# 6歳以上かつ(and)身長120cm以上
age = 5
height = 110

if(6 <= age and 120 <= height):
    print("乗車できます")
else:
    print("乗車できません")
R
age <- 6
height <- 120

# 6歳以上かつ(&)身長120cm以上の人
if(6 <= age & 120 <= height){
    print("乗車できます")
}else{
    print("乗車できません")
}

論理和

python
# 6歳以上または(or)身長120cm以上
age = 5
height = 110

if(6 <= age or 120 <= height):
    print("乗車できます")
else:
    print("乗車できません")
R
age <- 6
height <- 120

# 6歳以上または(|)身長120cm以上の人
if(6 <= age | 120 <= height){
    print("乗車できます")
}else{
    print("乗車できません")
}

否定

python
# 6歳ではない(not)人
if not(age == 6):
    print("6歳ではない")
else:
    print("6歳です")
R
# 6歳ではない(!)人
if (!6 == age){
    print("6歳ではない人です")
}else{
    print("6歳の人です")
}

複数条件

python
age = 61
height = 160

if(6 <= age and 120 >= height) or (60 <= age and 150 <= height):
    print("乗車できます")
else:
    print("乗車できません")
R
age <- 59
height <- 160

# 6歳以上かつ(&)身長120cm以上の人
if((6 <= age & 120 >= height) | (60 <= age & 150 <= height)){
    print("乗車できます")
}else{
    print("乗車できません")
}

image.png

繰り返し

python
for 変数 in リスト:
     実行したい処理
python
a = [1,2,3,4,5,10]

for i in a:
    print(i)
R
for (変数 in リスト{
    実行したい処理
}
R
a <- c(1,2,3,4,5,10)

for (i in a){
    print(i)
}

image.png

偶数のみ表示させるには?
python
a = [1,2,3,4,5,10]

for i in a:
    if i %2 ==0:
        print(i)
R
a <- c(1,2,3,4,5,10)

for (i in a){
    if (i %% 2 ==0){
        print(i)
    }
}

image.png

pythonには内包表記と呼ばれる手法があり処理が早い

python
[変数 for 変数 in リスト if 条件]
python
[i for i in a if i % 2 ==0]

image.png

R
a[a %% 2 == 0]

image.png

while文

python
num=1
while num<10:
    print(num)
    num += 1
R
num <- 1
while(num < 10){
    print(num)
    num = num+1
} 

image.png

関数

python
def 関数名(引数):
  実行する処理
  return 戻り値
R
関数名 <- function(引数){
  実行する処理
  return (戻り値)
}
python
def bmi(height,weight):
    result = weight / height / height
    return result
R
bmi <- function(height,weight){
    result <- weight / height / height
    return (result)
}

image.png

データフレーム

python
import pandas as pd 

data = [
    ['吉田',60,40],
    ['三苫',30,80],
    ['浅野',70,60],
    ['久保',10,80],
]

score = pd.DataFrame(data,columns=['氏名','数学','英語'])
score
R
name <- c('吉田','浅野','三苫','久保')
math <- c(60,30,70,10)
english <- c(40,80,60,80)

score <- data.frame(氏名=name,数学=math,英語=english)
score
python
#データフレームのサイズ確認
score.shape
R
#データフレームのサイズ確認
dim(score)
python
#行数確認
len(score)
R
#行数確認
nrow(score)
python
#列数確認
len(score.columns)
R
#列数確認
ncol(score)

image.png

python
#データの取り出し
score['数学']
R
#データの取り出し
score$数学
python
score.数学
R
#データの取り出し
score[,2]

image.png

python
score[score.数学 > 50]
R
#数学が50点以上の人のデータの取り出し
score[score$数学 > 50,]
python
score[score.数学 > 50][['氏名','数学']]
R
#数学が50点以上の人の氏名と数学だけのデータの取り出し
score[score$数学 > 50,c('氏名','数学')]

image.png

R別解 dplyrパッケージ

R
library(dplyr)
score %>% filter(数学 > 50)
R
library(dplyr)
score %>% filter(数学 > 50) %>% select(氏名,数学)

image.png

ファイル読み込み

image.png

ディレクトリ

フォルダと同じ意味を表す

WindowsやMacなどの、いわゆるGUIでは「フォルダ」
LinuxやUnixなどのCUIでは「ディレクトリ」

ルートディレクトリ→最上位のディレクトリ
カレントディレクトリ→今現在自分がいるディレクトリ

パス

ファイルやディレクトリの住所のこと

image.png

絶対パス:ルートディレクトリからの経路
¥ドキュメント¥授業資料¥画像ファイル1
/ドキュメント/授業資料/画像ファイル1
相対パス:カレントディレクトリからの経路
..¥..¥ダウンロード¥テキストファイル1

CSVファイル読み込み

ファイル名の前にファイルの絶対パスを記載すること
文字化けしたらUTF-8に設定

python
import pandas as pd

data_csv = pd.read_csv('/Users/〇〇/abc.csv',encoding='shift-jis')
data_csv.head(5)
R
data_csv <- read.csv('/Users/〇〇/abc.csv',fileEncoding='sjis')
data_csv
0
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?