6章環境

手元のデッキはブラックジャック(あるいはハーツ、戦争)に対応できるようになりましたが、shuffledeal関数はそのレベルについていけているでしょうか。全然ダメです。たとえば、dealは同じカードを繰り返し配っています。

deal(deck)
##   face   suit value
##   king spades    13

deal(deck)
##   face   suit value
##   king spades    13

deal(deck)
##   face   suit value
##   king spades    13

そして、shuffle関数は、実際にdeckをシャッフルしているわけではありません。シャッフルされたdeckのコピーを返しているだけです。一言で言えば、この2つの関数は、deckを使ってはいるもののdeckを操作していません。しかし、本当はdeckを操作したいのです。

2つの関数を修正するためには、Rがdeckのようなオブジェクトをどのようにして格納、検索、操作しているかを理解する必要があります。Rは、環境システムの力を借りてこれらのことを行っています。

6.1 環境

コンピュータがファイルをどのように格納しているのかについて少し考えてみましょう。すべてのファイルはフォルダに格納され、それらのフォルダはほかのフォルダに格納されて、全体として階層的なファイルシステムを形成しています。コンピュータがあるファイルを開こうとするときには、まずこのファイルシステムの中でファイルを検索しなければなりません。

ファイルシステムは、Finder(Mac)やエクスプローラ(Windows)を開けば見ることができます。たとえば、図6-1は、私のコンピュータのファイルシステムの一部を示しています。フォルダは山ほどありますが、その中の1つとしてDocumentsというものがあります。その中にはggsubplotというサブフォルダがあり、さらにその中にはinst、そしてその中にdocというサブフォルダがあって、docの中にはmanual.pdfというファイルがあります。 ...

Get RStudioではじめるRプログラミング入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.