My Notes

統計学とかR(R言語)とかPython3の覚え書きとか走り書きとか。 座右の銘にしたい: All work and no play makes Jack a dull boy.

R(R言語)からPython3のビルトイン関数を使う。 九九表から始めるreticulate。

R(とPython3)コード

#
# R(R言語)からPython3のビルトイン関数を使う。 九九表から始めるreticulate。
#




library(reticulate)




# py_config() 読み込んだPythonのバージョン確認。




# Python3のビルトイン関数を使用するために。
py <- import_builtins()




# Python3のrange()とprint()を使用して、ありきたりな九九表を作成。
#
# range()の使い方
# py$range()とする。
#
# py$range()の具体例1
# > py$range(10L)
#  [1] 0 1 2 3 4 5 6 7 8 9
#
# 具体例2
# > py$range(1L, 10L, 2L)
#  [1] 1 3 5 7 9
#
# (当ブログ筆者の環境において実行した場合からの)注意事項
#
# R(R言語)の数値は、基本的に、整数型ではない。
# Pythonのrange()は、整数型で使用できる。
# 数値に、1Lなどとして、整数型にしないとエラー。
# エラーメッセージ
# > py$range(10)
# py_call_impl(callable, dots$args, dots$keywords) でエラー:
#  TypeError: range() integer end argument expected, got float.
#
for (i in py$range(1L, 10L)) {
    for (j in py$range(1L, 10L)) {
        py$print(i * j, ' ', end='')
    }
    py$print()
}

R Console

> #
> # R(R言語)からPython3のビルトイン関数を使う。 九九表から始めるreticulate。
> #
> 
> 
> 
> 
> library(reticulate)
> 
> 
> 
> 
> # py_config() 読み込んだPythonのバージョン確認。
> 
> 
> 
> 
> # Python3のビルトイン関数を使用するために。
> py <- import_builtins()
> 
> 
> 
> 
> # Python3のrange()とprint()を使用して、ありきたりな九九表を作成。
> #
> # range()の使い方
> # py$range()とする。
> #
> # py$range()の具体例1
> # > py$range(10L)
> #  [1] 0 1 2 3 4 5 6 7 8 9
> #
> # 具体例2
> # > py$range(1L, 10L, 2L)
> #  [1] 1 3 5 7 9
> #
> # (当ブログ筆者の環境において実行した場合からの)注意事項
> #
> # R(R言語)の数値は、基本的に、整数型ではない。
> # Pythonのrange()は、整数型で使用できる。
> # 数値に、1Lなどとして、整数型にしないとエラー。
> # エラーメッセージ
> # > py$range(10)
> # py_call_impl(callable, dots$args, dots$keywords) でエラー:
> #  TypeError: range() integer end argument expected, got float.
> #
> for (i in py$range(1L, 10L)) {
+     for (j in py$range(1L, 10L)) {
+         py$print(i * j, ' ', end='')
+     }
+     py$print()
+ }
> 
1  2  3  4  5  6  7  8  9  
2  4  6  8  10  12  14  16  18  
3  6  9  12  15  18  21  24  27  
4  8  12  16  20  24  28  32  36  
5  10  15  20  25  30  35  40  45  
6  12  18  24  30  36  42  48  54  
7  14  21  28  35  42  49  56  63  
8  16  24  32  40  48  56  64  72  
9  18  27  36  45  54  63  72  81  

参考Webサイト

bit.ly

(idコールや言及にならないように工夫しましたが、行ってしまったらすみません)。

qiita.com

Introduction to reticulate