From e70f3ce877d147828a1e8721341f5e51b393ccc7 Mon Sep 17 00:00:00 2001 From: rkkmk Date: Fri, 10 Apr 2020 22:32:38 +0900 Subject: [PATCH 1/5] 1/2 of Section 12 in R for Rep --- po/r-novice-gapminder.ja.po | 143 ++++++++++++++---------------------- 1 file changed, 56 insertions(+), 87 deletions(-) diff --git a/po/r-novice-gapminder.ja.po b/po/r-novice-gapminder.ja.po index e496031b..43299e53 100644 --- a/po/r-novice-gapminder.ja.po +++ b/po/r-novice-gapminder.ja.po @@ -8,9 +8,7 @@ msgstr "" "Project-Id-Version: i18n\n" "Report-Msgid-Bugs-To: https://github.com/haiwen/seafile-docs/issues\n" "POT-Creation-Date: 2018-09-15 22:59:57+0900\n" -<<<<<<< HEAD -======= ->>>>>>> 718efdcf948e4ee569b48dfaf2f2b4a078ffa0a5 +"PO-Revision-Date: 2020-04-10 22:00+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -928,15 +926,9 @@ msgid "" "control and project management." msgstr "" "このレッスンではRStudioを使います。RStudioは、無料であり、Rを組み込んだオープンソースの\n" -<<<<<<< HEAD "総合開発環境(IDE: Integrated Development Environment)です。RStudioは、全てのプラットフォーム(サーバーも含む)で起動できること、\n" "エディタが組み込まれていることや、プロジェクト管理やバージョン管理にも対応しているなど、\n" "良いところがいっぱいがあります。" -======= -"開発環境です。RStudioには、全てのプラットフォーム(サーバーも含む)で起動できるエディタ\n" -"エディタが組み込まれていることや、プロジェクト管理やバージョン管理にも対応しているなど、\n" -"良いところがいっぱいあります。" ->>>>>>> 718efdcf948e4ee569b48dfaf2f2b4a078ffa0a5 #: r-novice-gapminder/_episodes/01-rstudio-intro.md:68 msgid "**Basic layout**" @@ -2195,11 +2187,7 @@ msgstr "" "> 以外では、2数の比較に決して `==` を使わないこと。\n" ">\n" "> コンピュータは、小数点以下の数を限られた精度でしか示せません。\n" -<<<<<<< HEAD "> なので、二つの数がRで同じように表示されても\n" -======= -"> かもしれません。すると、二つの数がRで同じように表示されても\n" ->>>>>>> 718efdcf948e4ee569b48dfaf2f2b4a078ffa0a5 "> 実際は、その背後で異なる形で表されており、したがって\n" "> ごくわずかな誤差(機械の数値許容範囲)があるかもしれません。\n" ">\n" @@ -3003,11 +2991,7 @@ msgid "" "network). R and RStudio have functionality for managing packages:" msgstr "" "パッケージを書くか、誰かが書いたパッケージを使って、Rに関数を加えることができます。\n" -<<<<<<< HEAD "今現在CRAN (the comprehensive R archive network)上にある\n" -======= -"今現在CRAN (the comprehensive R archive network)上にある\n" ->>>>>>> 718efdcf948e4ee569b48dfaf2f2b4a078ffa0a5 "10,000 を越えるパッケージが使用可能です。RとRStudioには、パッケージを管理する機能があります:" # unordered list @@ -3026,17 +3010,10 @@ msgid "" msgstr "" " `installed.packages()`\n" "* パッケージをインストールするには、`install.packages(\"packagename\")`を入力します\n" -<<<<<<< HEAD " ここで、`packagename`は、用いる引用符付きのパッケージ名です\n" "* インストールしたパッケージの更新には、`update.packages()`を入力します\n" "* パッケージの削除には、`remove.packages(\"packagename\")`を入力します\n" "* 使用できるパッケージを用いるには、`library(packagename)`を入力します" -======= -" ここで、`packagename`は、用いる引用符付きのパッケージ名です。\n" -"* インストールしたパッケージの更新には、`update.packages()`を入力します。\n" -"* パッケージの削除には、`remove.packages(\"packagename\")`を入力します。\n" -"* 使用できるパッケージを用いるには、`library(packagename)`を入力します。" ->>>>>>> 718efdcf948e4ee569b48dfaf2f2b4a078ffa0a5 # blockquote, which can be cascaded #: r-novice-gapminder/_episodes/01-rstudio-intro.md:781 @@ -15986,10 +15963,10 @@ msgid "" "and multiplies the population and GDP per capita column. We also defined\n" "additional arguments so we could filter by `year` and `country`:" msgstr "" -"Previously we looked at how you can use functions to simplify your code.\n" -"We defined the `calcGDP` function, which takes the gapminder dataset,\n" -"and multiplies the population and GDP per capita column. We also defined\n" -"additional arguments so we could filter by `year` and `country`:" +"ここまでに、関数がコードをシンプルにするために使えるということをお伝えしました。\n" +"gapminder データセットを使って、人口の列と1人当たりのGDPの列を掛ける\n" +"関数 `calcGDP` を定義し、更に、\n" +"`year` と `country` でフィルターできる引数を追加で、定義しましたよね。" #: r-novice-gapminder/_episodes/12-plyr.md:42 msgid "" @@ -15998,14 +15975,13 @@ msgid "" "simply calculating the GDP by multiplying two columns together. But what if\n" "we wanted to calculated the mean GDP per continent?" msgstr "" -"A common task you'll encounter when working with data, is that you'll want to\n" -"run calculations on different groups within the data. In the above, we were\n" -"simply calculating the GDP by multiplying two columns together. But what if\n" -"we wanted to calculated the mean GDP per continent?" +"データを使うときに、データにあるグループごとに計算を実行してみたいと思うことが、よくあります。\n" +"先ほどの例では、単純に二つの列を掛け合わせることでGDPを計算しました。\n" +"では、大陸ごとに平均GDPを計算したいときは、どうすればよいでしょうか。" #: r-novice-gapminder/_episodes/12-plyr.md:47 msgid "We could run `calcGDP` and then take the mean of each continent:" -msgstr "We could run `calcGDP` and then take the mean of each continent:" +msgstr "`calcGDP` を実行してから、それぞれの大陸の平均をとることもできます:" # code block #: r-novice-gapminder/_episodes/12-plyr.md:50 @@ -16082,22 +16058,22 @@ msgid "" "repetition. Repeating yourself will cost you time, both now and later, and\n" "potentially introduce some nasty bugs." msgstr "" -"But this isn't very *nice*. Yes, by using a function, you have reduced a\n" -"substantial amount of repetition. That **is** nice. But there is still\n" -"repetition. Repeating yourself will cost you time, both now and later, and\n" -"potentially introduce some nasty bugs." +"でも、これはあまり*おススメ*ではありません。そうです。ある関数を使えば、\n" +"いくつもの繰り返し作業を減らすことができます。それ **は**、おススメです。\n" +"それでも、繰り返し作業はあります。繰り返し作業は、その時点だけでなく\n" +"その後も、時間を食います。そして、嫌なバグを起こる原因にもなりえます。" #: r-novice-gapminder/_episodes/12-plyr.md:96 msgid "" "We could write a new function that is flexible like `calcGDP`, but this\n" "also takes a substantial amount of effort and testing to get right." msgstr "" -"We could write a new function that is flexible like `calcGDP`, but this\n" -"also takes a substantial amount of effort and testing to get right." +"`calcGDP` のような、新しい関数を書くこともできます。\n" +"でも、ちゃんとしたものを作るには、かなりの労力と確認が必要になるでしょう。" #: r-novice-gapminder/_episodes/12-plyr.md:99 msgid "The abstract problem we're encountering here is know as \"split-apply-combine\":" -msgstr "The abstract problem we're encountering here is know as \"split-apply-combine\":" +msgstr "ここで直面している抽象的な問題は、 「split-apply-combine(分けてー適用してーまとめる)」ものとしてよく知られています:" #: r-novice-gapminder/_episodes/12-plyr.md:101 msgid "![Split apply combine](../fig/12-plyr-fig1.png)" @@ -16109,14 +16085,13 @@ msgid "" "some calculations on that group, then optionally *combine* the results\n" "together afterwards." msgstr "" -"We want to *split* our data into groups, in this case continents, *apply*\n" -"some calculations on that group, then optionally *combine* the results\n" -"together afterwards." +"データを(この例では大陸別に)グループ *分け* し、そのグループへある計算を\n" +" *適用*し、できればその後に、結果を *まとめ* たいのです。" # header #: r-novice-gapminder/_episodes/12-plyr.md:107 msgid "## The `plyr` package" -msgstr "## The `plyr` package" +msgstr "## `plyr` パッケージ" #: r-novice-gapminder/_episodes/12-plyr.md:109 msgid "" @@ -16126,15 +16101,15 @@ msgid "" "problem. The [plyr](http://had.co.nz/plyr/) package provides a set of\n" "functions that we find more user friendly for solving this problem." msgstr "" -"For those of you who have used R before, you might be familiar with the\n" -"`apply` family of functions. While R's built in functions do work, we're\n" -"going to introduce you to another method for solving the \"split-apply-combine\"\n" -"problem. The [plyr](http://had.co.nz/plyr/) package provides a set of\n" -"functions that we find more user friendly for solving this problem." +"Rを使ったことがある人なら、`apply`系の関数は、既にご存知かもしれません。\n" +"Rに元々ある関数でもよいのですが、この「split-apply-combine」問題を解決する\n" +"他の方法を紹介しましょう。\n" +"[plyr](http://had.co.nz/plyr/) パッケージには、よりお手軽に、\n" +"この問題を解決できる関数たちがあります。" #: r-novice-gapminder/_episodes/12-plyr.md:115 msgid "We installed this package in an earlier challenge. Let's load it now:" -msgstr "We installed this package in an earlier challenge. Let's load it now:" +msgstr "このパッケージを、以前のチャレンジの中で、インストールしているので、ここでロードしてみましょう:" # code block #: r-novice-gapminder/_episodes/12-plyr.md:118 @@ -16152,23 +16127,23 @@ msgid "" "Plyr has functions for operating on `lists`, `data.frames` and `arrays`\n" "(matrices, or n-dimensional vectors). Each function performs:" msgstr "" -"Plyr has functions for operating on `lists`, `data.frames` and `arrays`\n" -"(matrices, or n-dimensional vectors). Each function performs:" +"Plyrには、`lists(リスト)`、`data.frames(データフレーム)` 及び `arrays(列)`(行列またはn-次元のベクトル)\n" +"に実行できる関数があります。それぞれの関数は以下を実行します:" # ordered list #: r-novice-gapminder/_episodes/12-plyr.md:126 msgid "1. A **split**ting operation" -msgstr "1. A **split**ting operation" +msgstr "1. **分ける** 作業" # ordered list #: r-novice-gapminder/_episodes/12-plyr.md:127 msgid "2. **Apply** a function on each split in turn." -msgstr "2. **Apply** a function on each split in turn." +msgstr "2. 分割したそれぞれへの関数の **適用**" # ordered list #: r-novice-gapminder/_episodes/12-plyr.md:128 msgid "3. Re**combine** output data as a single data object." -msgstr "3. Re**combine** output data as a single data object." +msgstr "3. 出力データを再度ひとつのデータオブジェクトとして**まとめる**" #: r-novice-gapminder/_episodes/12-plyr.md:130 msgid "" @@ -16178,11 +16153,9 @@ msgid "" "the second letter to the output data structure, and then the rest of the\n" "function is named \"ply\"." msgstr "" -"The functions are named based on the data structure they expect as input,\n" -"and the data structure you want returned as output: [a]rray, [l]ist, or\n" -"[d]ata.frame. The first letter corresponds to the input data structure,\n" -"the second letter to the output data structure, and then the rest of the\n" -"function is named \"ply\"." +"関数は、入力されるだろうデータ構造と出力予定のデータ構造に基づき名付けられています。\n" +"つまり、[a]rray、[l]ist、または[d]ata.frameのことです。最初の文字が、入力データ構造、\n" +"次の文字が出力データ構造、そして、残りが「ply」と名付けられた関数です。" #: r-novice-gapminder/_episodes/12-plyr.md:136 msgid "" @@ -16191,18 +16164,17 @@ msgid "" "They're named by their input data type and represent null output by a `_` (see\n" "table)" msgstr "" -"This gives us 9 core functions **ply. There are an additional three functions\n" -"which will only perform the split and apply steps, and not any combine step.\n" -"They're named by their input data type and represent null output by a `_` (see\n" -"table)" +"これが **plyの9つの中心的な関数です。加えて、分けて適用することだけで、まとめを実行しない\n" +"関数が3つあります。それらは、入力データ型と出力データがないことを示す\n" +" `_` から名付けられています(表参照)。" #: r-novice-gapminder/_episodes/12-plyr.md:141 msgid "" "Note here that plyr's use of \"array\" is different to R's,\n" "an array in ply can include a vector or matrix." msgstr "" -"Note here that plyr's use of \"array\" is different to R's,\n" -"an array in ply can include a vector or matrix." +"ここで、plyrの「array」の使用法は、Rの使用法を違うことに気をつけましょう。\n" +"plyのarrayは、ベクトルや行列も含めます。" #: r-novice-gapminder/_episodes/12-plyr.md:144 msgid "![Full apply suite](../fig/12-plyr-fig2.png)" @@ -16213,8 +16185,8 @@ msgid "" "Each of the xxply functions (`daply`, `ddply`, `llply`, `laply`, ...) has the\n" "same structure and has 4 key features and structure:" msgstr "" -"Each of the xxply functions (`daply`, `ddply`, `llply`, `laply`, ...) has the\n" -"same structure and has 4 key features and structure:" +"xxply関数(`daply` 、 `ddply` 、 `llply` 、 `laply`、などなど)は、\n" +"同じ構造で、4つの重要な特徴と構造を持っています:" # code block #: r-novice-gapminder/_episodes/12-plyr.md:151 @@ -16230,26 +16202,26 @@ msgstr "" # unordered list #: r-novice-gapminder/_episodes/12-plyr.md:156 msgid "* The first letter of the function name gives the input type and the second gives the output type." -msgstr "* The first letter of the function name gives the input type and the second gives the output type." +msgstr "* 関数の最初の文字が、入力型、次の文字が出力型を示します。" # unordered list #: r-novice-gapminder/_episodes/12-plyr.md:157 msgid "* .data - gives the data object to be processed" -msgstr "* .data - gives the data object to be processed" +msgstr "* .data -処理されるデータオブジェクトを示します。" # unordered list #: r-novice-gapminder/_episodes/12-plyr.md:158 msgid "* .variables - identifies the splitting variables" -msgstr "* .variables - identifies the splitting variables" +msgstr "* .variables-分割する変数を指定します。" # unordered list #: r-novice-gapminder/_episodes/12-plyr.md:159 msgid "* .fun - gives the function to be called on each piece" -msgstr "* .fun - gives the function to be called on each piece" +msgstr "* .fun-それぞれに適用する関数を示します。" #: r-novice-gapminder/_episodes/12-plyr.md:161 msgid "Now we can quickly calculate the mean GDP per continent:" -msgstr "Now we can quickly calculate the mean GDP per continent:" +msgstr "それでは、大陸別の平均GDPを計算してみましょう:" # code block #: r-novice-gapminder/_episodes/12-plyr.md:164 @@ -16293,12 +16265,12 @@ msgstr "" #: r-novice-gapminder/_episodes/12-plyr.md:185 msgid "Let's walk through the previous code:" -msgstr "Let's walk through the previous code:" +msgstr "このコードを、ひとつずつ見てみましょう:" # unordered list #: r-novice-gapminder/_episodes/12-plyr.md:187 msgid "- The `ddply` function feeds in a `data.frame` (function starts with **d**) and" -msgstr "- The `ddply` function feeds in a `data.frame` (function starts with **d**) and" +msgstr "- `ddply` 関数は、`data.frame` を使い(関数は、**d**から始まりますね)、" #: r-novice-gapminder/_episodes/12-plyr.md:188 msgid "" @@ -16315,18 +16287,15 @@ msgid "" " function: we haven't defined it elsewhere, and it has no name. It only exists\n" " in the scope of our call to `ddply`." msgstr "" -"returns another `data.frame` (2nd letter is a **d**) i\n" -"- the first argument we gave was the data.frame we wanted to operate on: in this\n" -" case the gapminder data. We called `calcGDP` on it first so that it would have\n" -" the additional `gdp` column added to it.\n" -"- The second argument indicated our split criteria: in this case the \"continent\"\n" -" column. Note that we gave the name of the column, not the values of the column like we had done previously with subsetting. Plyr takes care of these\n" -" implementation details for you.\n" -"- The third argument is the function we want to apply to each grouping of the\n" -" data. We had to define our own short function here: each subset of the data\n" -" gets stored in `x`, the first argument of our function. This is an anonymous\n" -" function: we haven't defined it elsewhere, and it has no name. It only exists\n" -" in the scope of our call to `ddply`." +"もうひとつの`data.frame`を出力します(2番目の文字は、**d**ですね)\n" +"- 最初の引数は、使いたいdata.frameでしたね。つまり、ここでは、\n" +"gapminderデータです。そこに、`gdp` の列を加えるために、まず `calcGDP` を使いましょう。\n" +"- 次の引数は、分割基準を、つまり、ここでは「continent(大陸)」列です。\n" +" 以前、分部集合に分けるときに使った値の名前ではなく、ここでは列の名前を使うことに気を付けましょう。Plyrが細かい実行上の詳細を、代わりに処理してくれますので。\n" +"- 3番目の引数は、データのそれぞれのグループに当てはめる関数です。\n" +" ここで、自分で短い関数を定義しておかなければなりません。\n" +" データのそれぞれの部分集合が、その関数の最初の引数の`x` に保存されます。\n" +" これは、名前のない関数です。つまり、他のところで定義していないもので、名前がないものです。それは、 `ddply` が呼び出されている間だけ、存在します。" #: r-novice-gapminder/_episodes/12-plyr.md:202 msgid "" From cb1611f3cb24b0eb76d0e4f9761b68121f022141 Mon Sep 17 00:00:00 2001 From: rkkmk Date: Sat, 11 Apr 2020 20:53:20 +0900 Subject: [PATCH 2/5] translated:2/2 of Section 12 in R for Rep --- po/r-novice-gapminder.ja.po | 1 - 1 file changed, 1 deletion(-) diff --git a/po/r-novice-gapminder.ja.po b/po/r-novice-gapminder.ja.po index 43299e53..81e57ff2 100644 --- a/po/r-novice-gapminder.ja.po +++ b/po/r-novice-gapminder.ja.po @@ -8,7 +8,6 @@ msgstr "" "Project-Id-Version: i18n\n" "Report-Msgid-Bugs-To: https://github.com/haiwen/seafile-docs/issues\n" "POT-Creation-Date: 2018-09-15 22:59:57+0900\n" -"PO-Revision-Date: 2020-04-10 22:00+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" From 291c71297f2119d328aeef0087d66145f0e08934 Mon Sep 17 00:00:00 2001 From: rkkmk Date: Sat, 11 Apr 2020 21:01:49 +0900 Subject: [PATCH 3/5] translated:2/2 of Section 12 in R for Rep --- po/r-novice-gapminder.ja.po | 42 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/po/r-novice-gapminder.ja.po b/po/r-novice-gapminder.ja.po index 81e57ff2..a1de6a31 100644 --- a/po/r-novice-gapminder.ja.po +++ b/po/r-novice-gapminder.ja.po @@ -16303,12 +16303,12 @@ msgid "" "> Which had the shortest?" msgstr "" ">\n" -"> Calculate the average life expectancy per continent. Which has the longest?\n" -"> Which had the shortest?" +"> 大陸別の平均余命を計算してみましょう。一番長いのはどこでしょうか。\n" +"> 一番短いのはどこでしょうか。" #: r-novice-gapminder/_episodes/12-plyr.md:207 msgid "What if we want a different type of output data structure?:" -msgstr "What if we want a different type of output data structure?:" +msgstr "他のデータ構造型が良い場合は、どうすればよいでしょうか。" # code block #: r-novice-gapminder/_episodes/12-plyr.md:210 @@ -16391,12 +16391,12 @@ msgid "" "We called the same function again, but changed the second letter to an `l`, so\n" "the output was returned as a list." msgstr "" -"We called the same function again, but changed the second letter to an `l`, so\n" -"the output was returned as a list." +"また同じ関数を呼び出しましたが、2番目の文字を `l` に変えたので、\n" +"出力されたのは、リストでした。" #: r-novice-gapminder/_episodes/12-plyr.md:252 msgid "We can specify multiple columns to group by:" -msgstr "We can specify multiple columns to group by:" +msgstr "以下で、グループにまとめる列を指定します:" # code block #: r-novice-gapminder/_episodes/12-plyr.md:255 @@ -16624,9 +16624,8 @@ msgid "" "do so).\n" "To replace a for loop, put the code that was in the body of the `for` loop inside an anonymous function." msgstr "" -"You can use these functions in place of `for` loops (and its usually faster to\n" -"do so).\n" -"To replace a for loop, put the code that was in the body of the `for` loop inside an anonymous function." +"これらの関数は `for` ループの代わりに使えます(その方が、普通は早いです)。\n" +"forループを置き換えるために、 `for` ループの本体の中にあった名無し関数のコードを置きましょう。" # code block #: r-novice-gapminder/_episodes/12-plyr.md:373 @@ -16681,7 +16680,7 @@ msgstr "" # blockquote, which can be cascaded #: r-novice-gapminder/_episodes/12-plyr.md:399 msgid "> ## Tip: printing numbers" -msgstr "> ## Tip: printing numbers" +msgstr "> ## ヒント:数を出力する" #: r-novice-gapminder/_episodes/12-plyr.md:400 msgid "" @@ -16690,8 +16689,8 @@ msgid "" "> values \"pretty\" for printing out in messages." msgstr "" ">\n" -"> The `format` function can be used to make numeric\n" -"> values \"pretty\" for printing out in messages." +"> `format` 関数を使えば、数値をメッセージの中で「いい感じ」に\n" +"> 出力できます。" #: r-novice-gapminder/_episodes/12-plyr.md:407 msgid "" @@ -16701,15 +16700,15 @@ msgid "" "> and 2007?" msgstr "" ">\n" -"> Calculate the average life expectancy per continent and year. Which had the\n" -"> longest and shortest in 2007? Which had the greatest change in between 1952\n" -"> and 2007?" +"> 年次の大陸別平均余命を計算しましょう。2007年に\n" +"> 一番長かったのは、短かったのは、どこでしょうか。\n" +"> 1952年から2007にかけて変化が一番大きかったのはどこでしょうか。" # blockquote, which can be cascaded #: r-novice-gapminder/_episodes/12-plyr.md:414 #: r-novice-gapminder/_episodes/13-dplyr.md:572 msgid "> ## Advanced Challenge" -msgstr "> ## Advanced Challenge" +msgstr "> ## 上級チャレンジ" #: r-novice-gapminder/_episodes/12-plyr.md:415 msgid "" @@ -16719,14 +16718,13 @@ msgid "" "> using one of the `plyr` functions." msgstr "" ">\n" -"> Calculate the difference in mean life expectancy between\n" -"> the years 1952 and 2007 from the output of challenge 2\n" -"> using one of the `plyr` functions." +"> `plyr` 関数のひとつを使って、チャレンジ2の出力から、\n" +"> 2007年と1952年の平均余命の差を計算しましょう。" # blockquote, which can be cascaded #: r-novice-gapminder/_episodes/12-plyr.md:421 msgid "> ## Alternate Challenge if class seems lost" -msgstr "> ## Alternate Challenge if class seems lost" +msgstr "> ## チャレンジの別バージョン(クラスがなくなっていた場合)" #: r-novice-gapminder/_episodes/12-plyr.md:422 msgid "" @@ -16786,8 +16784,8 @@ msgid "" ">" msgstr "" ">\n" -"> Without running them, which of the following will calculate the average\n" -"> life expectancy per continent:\n" +"> 実行せずに、以下の中から、大陸別の平均余命を計算するものを選んでみましょう。\n" +"> :\n" ">\n" "> 1.\n" "> \n" From 974a5c7daf76125b686272dd28d53b753d2c626a Mon Sep 17 00:00:00 2001 From: rkkmk Date: Mon, 20 Apr 2020 00:01:43 +0900 Subject: [PATCH 4/5] Translated:Section 13 in R for Rep --- po/r-novice-inflammation.ja.po | 2 -- 1 file changed, 2 deletions(-) diff --git a/po/r-novice-inflammation.ja.po b/po/r-novice-inflammation.ja.po index 4ef42953..2282277f 100644 --- a/po/r-novice-inflammation.ja.po +++ b/po/r-novice-inflammation.ja.po @@ -7,8 +7,6 @@ msgid "" msgstr "" "Project-Id-Version: i18n\n" "Report-Msgid-Bugs-To: https://github.com/haiwen/seafile-docs/issues\n" -"POT-Creation-Date: 2018-09-15 22:59:57+0900\n" -"PO-Revision-Date: 2018-09-18 00:09+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" From 8845716852b048703d18326a337958bef6e94529 Mon Sep 17 00:00:00 2001 From: rkkmk Date: Sun, 26 Apr 2020 20:59:27 +0900 Subject: [PATCH 5/5] Translated:Section 14 in R for Rep --- po/r-novice-gapminder.ja.po | 426 +++++++++++++++++------------------- 1 file changed, 204 insertions(+), 222 deletions(-) diff --git a/po/r-novice-gapminder.ja.po b/po/r-novice-gapminder.ja.po index a1de6a31..cc432717 100644 --- a/po/r-novice-gapminder.ja.po +++ b/po/r-novice-gapminder.ja.po @@ -16,6 +16,7 @@ msgstr "" "Language-Team: Japanese \n" "Language: ja\n" "X-Generator: Poedit 2.2.3\n" +"PO-Revision-Date: \n" # Front Matter #: r-novice-gapminder/CODE_OF_CONDUCT.md:1 @@ -16060,7 +16061,7 @@ msgstr "" "でも、これはあまり*おススメ*ではありません。そうです。ある関数を使えば、\n" "いくつもの繰り返し作業を減らすことができます。それ **は**、おススメです。\n" "それでも、繰り返し作業はあります。繰り返し作業は、その時点だけでなく\n" -"その後も、時間を食います。そして、嫌なバグを起こる原因にもなりえます。" +"その後も、時間を食います。そして、嫌なバグが起こる原因にもなりえます。" #: r-novice-gapminder/_episodes/12-plyr.md:96 msgid "" @@ -16890,10 +16891,10 @@ msgid "" "data by a certain variable(s), or we even calculate summary statistics. We can\n" "do these operations using the normal base R operations:" msgstr "" -"Manipulation of dataframes means many things to many researchers, we often\n" -"select certain observations (rows) or variables (columns), we often group the\n" -"data by a certain variable(s), or we even calculate summary statistics. We can\n" -"do these operations using the normal base R operations:" +"多くの研究者にとって、データフレームの操作は、多くのことを意味します。\n" +"よくあるのは、特定の標本(行)もしくは変数(列)の選択、 特定の変数でのデータのグループ化、\n" +"更には要約する統計値の計算です。\n" +"これらは、普通のRの基本操作で実行できます:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:30 @@ -16967,14 +16968,13 @@ msgid "" "yourself will cost you time, both now and later, and potentially introduce some\n" "nasty bugs." msgstr "" -"But this isn't very *nice* because there is a fair bit of repetition. Repeating\n" -"yourself will cost you time, both now and later, and potentially introduce some\n" -"nasty bugs." +"でも、これはあまり*おススメ*ではありません。繰り返しがかなりあるからです。\n" +"繰り返し作業は、時間を食います。そして、嫌なバグを起こる原因にもなりえます。" # header #: r-novice-gapminder/_episodes/13-dplyr.md:74 msgid "## The `dplyr` package" -msgstr "## The `dplyr` package" +msgstr "## `dplyr` パッケージ" #: r-novice-gapminder/_episodes/13-dplyr.md:76 msgid "" @@ -16984,19 +16984,20 @@ msgid "" "errors, and probably even save you some typing. As an added bonus, you might\n" "even find the `dplyr` grammar easier to read." msgstr "" -"Luckily, the [`dplyr`](https://cran.r-project.org/web/packages/dplyr/dplyr.pdf)\n" -"package provides a number of very useful functions for manipulating dataframes\n" -"in a way that will reduce the above repetition, reduce the probability of making\n" -"errors, and probably even save you some typing. As an added bonus, you might\n" -"even find the `dplyr` grammar easier to read." +"嬉しいことに、[`dplyr`](https://cran.r-project.org/web/packages/dplyr/dplyr.pdf)\n" +"パッケージには、データフレーム操作に、かなり使える関数がいくつもあります。\n" +"それを使うと、先ほどお伝えしたような繰り返しを減らし、エラーを起こす確率を減らし、\n" +"タイピングする必要性さえも恐らく減らせます。\n" +"更には、`dplyr` の書き方は、とても分かりやすいかもしれません。" #: r-novice-gapminder/_episodes/13-dplyr.md:82 msgid "" "Here we're going to cover 6 of the most commonly used functions as well as using\n" "pipes (`%>%`) to combine them." msgstr "" -"Here we're going to cover 6 of the most commonly used functions as well as using\n" -"pipes (`%>%`) to combine them." +"ここでは、特によく使われる6つの関数と、\n" +"それらを組み合わせるためのパイプ(`%>%`)を紹介します。\n" +"." # ordered list #: r-novice-gapminder/_episodes/13-dplyr.md:85 @@ -17025,7 +17026,7 @@ msgstr "5. `mutate()`" #: r-novice-gapminder/_episodes/13-dplyr.md:91 msgid "If you have have not installed this package earlier, please do so:" -msgstr "If you have have not installed this package earlier, please do so:" +msgstr "もし、このパッケージをまだインストールしていないようでしたら、ここでしておきましょう:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:94 @@ -17040,7 +17041,7 @@ msgstr "" #: r-novice-gapminder/_episodes/13-dplyr.md:99 msgid "Now let's load the package:" -msgstr "Now let's load the package:" +msgstr "パッケージをロードしましょう:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:102 @@ -17056,7 +17057,7 @@ msgstr "" # header #: r-novice-gapminder/_episodes/13-dplyr.md:107 msgid "## Using select()" -msgstr "## Using select()" +msgstr "## select() を使う" #: r-novice-gapminder/_episodes/13-dplyr.md:109 msgid "" @@ -17064,9 +17065,9 @@ msgid "" "our dataframe we could use the `select()` function. This will keep only the\n" "variables you select." msgstr "" -"If, for example, we wanted to move forward with only a few of the variables in\n" -"our dataframe we could use the `select()` function. This will keep only the\n" -"variables you select." +"例えば、 データフレームにある、いくつかの変数だけを使って進めたい場合、\n" +"使えるかもしれないのは、`select()` 関数です。\n" +"これを使えば、選択した変数だけをキープすることができます。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:114 @@ -17091,11 +17092,11 @@ msgid "" "is unlike anything we've seen in R before, let's repeat what we've done above\n" "using pipes." msgstr "" -"If we open up `year_country_gdp` we'll see that it only contains the year,\n" -"country and gdpPercap. Above we used 'normal' grammar, but the strengths of\n" -"`dplyr` lie in combining several functions using pipes. Since the pipes grammar\n" -"is unlike anything we've seen in R before, let's repeat what we've done above\n" -"using pipes." +"もし `year_country_gdp` を開いたら、year、country 及び gdpPercap しかないでしょう。\n" +"上では、 '普通の' 書き方を使いましたが、`dplyr` の強みは、複数の関数を\n" +"パイプを使って、組み合わせられることです。\n" +"パイプの書き方は、これまでRで見てきたものとは、\n" +"全く違いますので、上記でしたことをパイプを使って、やってみましょう。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:128 @@ -17118,26 +17119,23 @@ msgid "" "encountered pipes before in the shell. In R, a pipe symbol is `%>%` while in the\n" "shell it is `|` but the concept is the same!" msgstr "" -"To help you understand why we wrote that in that way, let's walk through it step\n" -"by step. First we summon the gapminder dataframe and pass it on, using the pipe\n" -"symbol `%>%`, to the next step, which is the `select()` function. In this case\n" -"we don't specify which data object we use in the `select()` function since in\n" -"gets that from the previous pipe. **Fun Fact**: There is a good chance you have\n" -"encountered pipes before in the shell. In R, a pipe symbol is `%>%` while in the\n" -"shell it is `|` but the concept is the same!" +"こう書いた理由を、お分かりいただくために、ひとつずつ御説明します。\n" +"始めに、gapminder データフレームを呼び出し、パイプの記号`%>%` を使って、\n" +"次の `select()` 関数を使うステップに引き渡します。どのデータオブジェクトを\n" +"`select()` 関数で使うかについては、前のパイプから分かるため、ここでは指定しません。\n" +"**面白い事実**:シェルで、パイプに既に出会っている可能性が高いはずです。\n" +"Rでは、パイプの記号は `%>%` で、シェルでは、 `|` ですが、コンセプトは同じです。" # header #: r-novice-gapminder/_episodes/13-dplyr.md:141 msgid "## Using filter()" -msgstr "## Using filter()" +msgstr "## filter() を使う" #: r-novice-gapminder/_episodes/13-dplyr.md:143 msgid "" "If we now wanted to move forward with the above, but only with European\n" "countries, we can combine `select` and `filter`" -msgstr "" -"If we now wanted to move forward with the above, but only with European\n" -"countries, we can combine `select` and `filter`" +msgstr "欧州のみで、上記を進めたいとしたら、 `select` と `filter` を組み合わせましょう。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:147 @@ -17172,12 +17170,11 @@ msgid "" "> >{: .language-r}" msgstr "" ">\n" -"> Write a single command (which can span multiple lines and includes pipes) that\n" -"> will produce a dataframe that has the African values for `lifeExp`, `country`\n" -"> and `year`, but not for other Continents. How many rows does your dataframe\n" -"> have and why?\n" +"> アフリカの`lifeExp`、 `country` 及び `year` を持ち、他の国を含まないデータフレームを\n" +"> 作るコマンドをひとつ書いてみましょう(複数の行になっても、パイプを使っても大丈夫です)\n" +"> データフレームには、何行ありますか。なぜそうなるのでしょうか。\n" ">\n" -"> > ## Solution to Challenge 1\n" +"> > ## チャレンジ1の解答\n" "> >\n" "> >~~~\n" "> >year_country_lifeExp_Africa <- gapminder %>%\n" @@ -17194,16 +17191,16 @@ msgid "" "case. If we used 'select' first, filter would not be able to find the variable\n" "continent since we would have removed it in the previous step." msgstr "" -"As with last time, first we pass the gapminder dataframe to the `filter()`\n" -"function, then we pass the filtered version of the gapminder dataframe to the\n" -"`select()` function. **Note:** The order of operations is very important in this\n" -"case. If we used 'select' first, filter would not be able to find the variable\n" -"continent since we would have removed it in the previous step." +"その前に行ったように、gapminder データフレームを `filter()` 関数に引き渡し、\n" +"フィルターされた バージョンのgapminder データフレームを、 `select()` 関数に引き渡します。\n" +"**注意:** ここでは、操作手順がとても重要です。\n" +"まず 'select' を使うと、その前のステップで、大陸の変数が削除されているため、\n" +"filter で大陸の変数を見つけることができないことでしょう。" # header #: r-novice-gapminder/_episodes/13-dplyr.md:178 msgid "## Using group_by() and summarize()" -msgstr "## Using group_by() and summarize()" +msgstr "## group_by() と summarize() を使う" #: r-novice-gapminder/_episodes/13-dplyr.md:180 msgid "" @@ -17214,12 +17211,10 @@ msgid "" "can use `group_by()`, which will essentially use every unique criteria that you\n" "could have used in filter." msgstr "" -"Now, we were supposed to be reducing the error prone repetitiveness of what can\n" -"be done with base R, but up to now we haven't done that since we would have to\n" -"repeat the above for each continent. Instead of `filter()`, which will only pass\n" -"observations that meet your criteria (in the above: `continent==\"Europe\"`), we\n" -"can use `group_by()`, which will essentially use every unique criteria that you\n" -"could have used in filter." +"ここでは、Rの基本的な機能を用いたエラーが起こりやすい繰り返し作業を減らすはずでした。\n" +"でも、まだそれが達成できていません。上記では、それぞれの大陸で繰り返さなければならないですね。\n" +"(上記の `continent==\"Europe\"` のように)条件にあった標本のみを引き渡す `filter()` の代わりに、\n" +"filterでも使える、それぞれの一意の条件を用いることが必須となる `group_by()` を使うこともできます。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:208 @@ -17291,11 +17286,10 @@ msgid "" "`data.frame` which contains only the rows that correspond to the a particular\n" "value `continent` (at least in the example above)." msgstr "" -"You will notice that the structure of the dataframe where we used `group_by()`\n" -"(`grouped_df`) is not the same as the original `gapminder` (`data.frame`). A\n" -"`grouped_df` can be thought of as a `list` where each item in the `list`is a\n" -"`data.frame` which contains only the rows that correspond to the a particular\n" -"value `continent` (at least in the example above)." +"`group_by()` (`grouped_df`)で用いたデータフレームのデータ構造は、もともとの `gapminder` (`data.frame`)とは異なることに気づいたことでしょう。\n" +"`grouped_df` は、 `list` のようなものです。その `list` にある各項目は、\n" +"(少なくとも上記の例では)特定の `continent` の値が対応する列のみを含む `data.frame` \n" +"になります。" #: r-novice-gapminder/_episodes/13-dplyr.md:245 msgid "![](../fig/13-dplyr-fig2.png)" @@ -17304,7 +17298,7 @@ msgstr "![](../fig/13-dplyr-fig2.png)" # header #: r-novice-gapminder/_episodes/13-dplyr.md:247 msgid "## Using summarize()" -msgstr "## Using summarize()" +msgstr "## summarize() を使う" #: r-novice-gapminder/_episodes/13-dplyr.md:249 msgid "" @@ -17315,12 +17309,11 @@ msgid "" "original dataframe into multiple pieces, then we can run functions\n" "(e.g. `mean()` or `sd()`) within `summarize()`." msgstr "" -"The above was a bit on the uneventful side but `group_by()` is much more\n" -"exciting in conjunction with `summarize()`. This will allow us to create new\n" -"variable(s) by using functions that repeat for each of the continent-specific\n" -"data frames. That is to say, using the `group_by()` function, we split our\n" -"original dataframe into multiple pieces, then we can run functions\n" -"(e.g. `mean()` or `sd()`) within `summarize()`." +"上記は、少し物足りないかもしれませんが、`group_by()` は、`summarize()` と共に使えば\n" +"本当にすばらしいのです。それぞれの大陸のデータフレームごとに繰り返す関数を使って、\n" +"新たな変数を作ることができます。\n" +"つまり、 `group_by()` 関数を使って、もともとのデータフレームを、いくつかのデータに分け、\n" +"`summarize()` の中で、関数(たとえば `mean()` や `sd()`)を実行することができるのです。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:257 @@ -17369,8 +17362,8 @@ msgid "" "That allowed us to calculate the mean gdpPercap for each continent, but it gets\n" "even better." msgstr "" -"That allowed us to calculate the mean gdpPercap for each continent, but it gets\n" -"even better." +"これにより、それぞれの大陸の平均gdpPercapを計算することができますが、\n" +"更に、すばらしいことがあるのです。" #: r-novice-gapminder/_episodes/13-dplyr.md:282 msgid "" @@ -17444,10 +17437,10 @@ msgid "" msgstr "" ">\n" ">\n" -"> Calculate the average life expectancy per country. Which has the longest average life\n" -"> expectancy and which has the shortest average life expectancy?\n" +"> 国別平均余命を計算しましょう。平均余命が、一番長い国と一番短い国は、\n" +"> それぞれどこでしょうか。\n" ">\n" -"> > ## Solution to Challenge 2\n" +"> > ## チャレンジ2の解答\n" "> >\n" "> >~~~\n" "> >lifeExp_bycountry <- gapminder %>%\n" @@ -17468,11 +17461,11 @@ msgstr "" "> >2 Sierra Leone 36.8\n" "> >~~~\n" "> >{: .output}\n" -"> Another way to do this is to use the `dplyr` function `arrange()`, which\n" -"> arranges the rows in a data frame according to the order of one or more\n" -"> variables from the data frame. It has similar syntax to other functions from\n" -"> the `dplyr` package. You can use `desc()` inside `arrange()` to sort in\n" -"> descending order.\n" +"> もうひとつの方法は、 `dplyr` の関数 `arrange()` を使うことです。\n" +"> これは、データフレームのひとつ又は複数の変数の順序に従って、\n" +"> データフレームの列を配置するものです。 書き方は、`dplyr` パッケージの\n" +"> 他の関数と似ています。降順で並べたいときは、 `arrange()` の中に、\n" +"> `desc()` を使えばよいのです。\n" "> >\n" "> >~~~\n" "> >lifeExp_bycountry %>%\n" @@ -17512,7 +17505,9 @@ msgstr "" #: r-novice-gapminder/_episodes/13-dplyr.md:352 msgid "The function `group_by()` allows us to group by multiple variables. Let's group by `year` and `continent`." -msgstr "The function `group_by()` allows us to group by multiple variables. Let's group by `year` and `continent`." +msgstr "" +" `group_by()` の関数では、複数の変数でグループ化するこもできます。\n" +" `year` と `continent` でグループ分けしてみましょう。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:356 @@ -17531,7 +17526,7 @@ msgstr "" #: r-novice-gapminder/_episodes/13-dplyr.md:363 msgid "That is already quite powerful, but it gets even better! You're not limited to defining 1 new variable in `summarize()`." -msgstr "That is already quite powerful, but it gets even better! You're not limited to defining 1 new variable in `summarize()`." +msgstr "これでも、かなり役に立ちますが、更にすごいのです。`summarize()` の中で新しく定義できる変数は、1つに限らないのです。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:366 @@ -17557,15 +17552,15 @@ msgstr "" # header #: r-novice-gapminder/_episodes/13-dplyr.md:376 msgid "## count() and n()" -msgstr "## count() and n()" +msgstr "## count() 及び n()" #: r-novice-gapminder/_episodes/13-dplyr.md:378 msgid "" "A very common operation is to count the number of observations for each\n" "group. The `dplyr` package comes with two related functions that help with this." msgstr "" -"A very common operation is to count the number of observations for each\n" -"group. The `dplyr` package comes with two related functions that help with this." +"よくありがちな操作は、各グループの標本数の数を数えることです。\n" +"これに役立つ2つの関数が `dplyr` パッケージにあります。" #: r-novice-gapminder/_episodes/13-dplyr.md:381 msgid "" @@ -17574,10 +17569,9 @@ msgid "" "of one or more columns that contain the groups we are interested in, and we can\n" "optionally sort the results in descending order by adding `sort=TRUE`:" msgstr "" -"For instance, if we wanted to check the number of countries included in the\n" -"dataset for the year 2002, we can use the `count()` function. It takes the name\n" -"of one or more columns that contain the groups we are interested in, and we can\n" -"optionally sort the results in descending order by adding `sort=TRUE`:" +"例えば、2002年のデータセットにある国数を確認したい場合、 `count()` 関数が使えます。\n" +"興味のあるグループのひとつかいくつかの行の名前を取り、\n" +" `sort=TRUE` を加えることで、結果を降順に並べることもできます:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:387 @@ -17625,9 +17619,8 @@ msgid "" "is useful. For instance, if we wanted to get the standard error of the life\n" "expectency per continent:" msgstr "" -"If we need to use the number of observations in calculations, the `n()` function\n" -"is useful. For instance, if we wanted to get the standard error of the life\n" -"expectency per continent:" +"演算の際、標本数が必要な場合 `n()` 関数が使えます。\n" +"例えば、大陸別平均余命の標準誤差を得たいとします:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:413 @@ -17671,7 +17664,7 @@ msgstr "" #: r-novice-gapminder/_episodes/13-dplyr.md:434 msgid "You can also chain together several summary operations; in this case calculating the `minimum`, `maximum`, `mean` and `se` of each continent's per-country life-expectancy:" -msgstr "You can also chain together several summary operations; in this case calculating the `minimum`, `maximum`, `mean` and `se` of each continent's per-country life-expectancy:" +msgstr "いくつかの要約計算を、つなぎ合わせることもできます。つまり、ここでは各大陸の国別平均余命の `minimum` 、 `maximum` 、 `mean` 及び `se` となります:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:437 @@ -17724,11 +17717,11 @@ msgstr "" # header #: r-novice-gapminder/_episodes/13-dplyr.md:462 msgid "## Using mutate()" -msgstr "## Using mutate()" +msgstr "## mutate() を使う" #: r-novice-gapminder/_episodes/13-dplyr.md:464 msgid "We can also create new variables prior to (or even after) summarizing information using `mutate()`." -msgstr "We can also create new variables prior to (or even after) summarizing information using `mutate()`." +msgstr "情報を要約する前に(もしくは後にでも)、 `mutate()` を使えば、新しい変数を作ることができます。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:467 @@ -17760,7 +17753,7 @@ msgstr "" # header #: r-novice-gapminder/_episodes/13-dplyr.md:480 msgid "## Connect mutate with logical filtering: ifelse" -msgstr "## Connect mutate with logical filtering: ifelse" +msgstr "## 論理フィルター ifelse とmutate をつなげる" #: r-novice-gapminder/_episodes/13-dplyr.md:482 msgid "" @@ -17769,10 +17762,12 @@ msgid "" "This easy-to-read statement is a fast and powerful way of discarding certain data (even though the overall dimension\n" "of the data frame will not change) or for updating values depending on this given condition." msgstr "" -"When creating new variables, we can hook this with a logical condition. A simple combination of\n" -"`mutate()` and `ifelse()` facilitates filtering right where it is needed: in the moment of creating something new.\n" -"This easy-to-read statement is a fast and powerful way of discarding certain data (even though the overall dimension\n" -"of the data frame will not change) or for updating values depending on this given condition." +"新しい変数を作る時、これに論理条件に付けることができます。\n" +"似たような組み合わせの `mutate()` と `ifelse()` は、まさに必要な場面、つまり\n" +"新しいものを作る時に、フィルターすることができます。\n" +"この簡単に読める宣言が、(データフレーム全体の次元を変えずに)あるデータを\n" +"捨てるための早くて役に立つ方法であり、\n" +"与えられた条件によって値を更新する方法なのです。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:488 @@ -17824,7 +17819,7 @@ msgstr "" # header #: r-novice-gapminder/_episodes/13-dplyr.md:511 msgid "## Combining `dplyr` and `ggplot2`" -msgstr "## Combining `dplyr` and `ggplot2`" +msgstr "## `dplyr` と `ggplot2` を組み合わせる" #: r-novice-gapminder/_episodes/13-dplyr.md:513 msgid "" @@ -17832,9 +17827,9 @@ msgid "" "a layer of facet panels using `ggplot2`. Here is the code we used (with some\n" "extra comments):" msgstr "" -"In the plotting lesson we looked at how to make a multi-panel figure by adding\n" -"a layer of facet panels using `ggplot2`. Here is the code we used (with some\n" -"extra comments):" +"プロットのレッスンでは、 `ggplot2` を使って、小面パネルの層を加えることで、\n" +"複数パネルの図を示す方法を見ました。\n" +"次が、(いくつかコメントを付けた)使ったコードです:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:518 @@ -17873,13 +17868,13 @@ msgid "" "`dplyr` and `ggplot2` functions we can make the same figure without creating any\n" "new variables or modifying the data." msgstr "" -"This code makes the right plot but it also creates some variables (`starts.with`\n" -"and `az.countries`) that we might not have any other uses for. Just as we used\n" -"`%>%` to pipe data along a chain of `dplyr` functions we can use it to pass data\n" -"to `ggplot()`. Because `%>%` replaces the first argument in a function we don't\n" -"need to specify the `data =` argument in the `ggplot()` function. By combining\n" -"`dplyr` and `ggplot2` functions we can make the same figure without creating any\n" -"new variables or modifying the data." +"このコードは、正しいプロットを作りますが、他に使い道のない、変数(`starts.with`\n" +"及び `az.countries`)も作ります。 `dplyr` 関数のチェーンで、 `%>%` を使って、\n" +"データをパイプ流したように、 `ggplot()` へデータを引き渡すこともできます。\n" +"なぜならば `%>%` は、関数の最初の引数を置き換えるため、\n" +" `ggplot()` 関数の中の、 `data =` 因数を指定する必要がありません。\n" +" `dplyr` と `ggplot2` 関数を組み合わせることで、同じ図を、新しい変数を作ったり、\n" +"データを修正することなく作成できます。" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:540 @@ -17917,8 +17912,8 @@ msgid "" "Using `dplyr` functions also helps us simplify things, for example we could\n" "combine the first two steps:" msgstr "" -"Using `dplyr` functions also helps us simplify things, for example we could\n" -"combine the first two steps:" +" `dplyr` 関数を使うことで、物事が簡単になります。例えば、\n" +"最初の2つの段階を組み合わせることができます:" # code block #: r-novice-gapminder/_episodes/13-dplyr.md:559 @@ -17968,12 +17963,12 @@ msgid "" "> >{: .language-r}" msgstr "" ">\n" -"> Calculate the average life expectancy in 2002 of 2 randomly selected countries\n" -"> for each continent. Then arrange the continent names in reverse order.\n" -"> **Hint:** Use the `dplyr` functions `arrange()` and `sample_n()`, they have\n" -"> similar syntax to other dplyr functions.\n" +"> 各大陸から無作為に選ばれた2つの国の2002年の平均余命を計算し、\n" +"> 大陸名を、逆の順番に並べましょう。\n" +"> **ヒント:** `dplyr` 関数 `arrange()` 及び `sample_n()` を使いましょう。\n" +"> 書き方は、他の dplyr 関数と同じです。\n" ">\n" -"> > ## Solution to Advanced Challenge\n" +"> > ## 上級チャレンジの解答\n" "> >\n" "> >~~~\n" "> >lifeExp_2countries_bycontinents <- gapminder %>%\n" @@ -17989,7 +17984,7 @@ msgstr "" #: r-novice-gapminder/_episodes/13-dplyr.md:593 #: r-novice-gapminder/_episodes/14-tidyr.md:645 msgid "## Other great resources" -msgstr "## Other great resources" +msgstr "## その他の素晴らしい資料" # unordered list #: r-novice-gapminder/_episodes/13-dplyr.md:595 @@ -18055,26 +18050,24 @@ msgid "" "Researchers often want to manipulate their data from the 'wide' to the 'long'\n" "format, or vice-versa. The 'long' format is where:" msgstr "" -"Researchers often want to manipulate their data from the 'wide' to the 'long'\n" -"format, or vice-versa. The 'long' format is where:" +"研究者には「横長」データを「縦長」データに(又はその逆を)したいと\n" +"思うことがよくあります。 「縦長」形式とは:" # unordered list #: r-novice-gapminder/_episodes/14-tidyr.md:23 msgid " - each column is a variable" -msgstr " - each column is a variable" +msgstr " - 各列が変数" # unordered list #: r-novice-gapminder/_episodes/14-tidyr.md:24 msgid " - each row is an observation" -msgstr " - each row is an observation" +msgstr " - 各行が標本" #: r-novice-gapminder/_episodes/14-tidyr.md:26 msgid "" "In the 'long' format, you usually have 1 column for the observed variable and\n" "the other columns are ID variables." -msgstr "" -"In the 'long' format, you usually have 1 column for the observed variable and\n" -"the other columns are ID variables." +msgstr "「縦長」形式では、ふつう観測値は1列で、残りはIDの変数の列になります。" #: r-novice-gapminder/_episodes/14-tidyr.md:30 msgid "" @@ -18086,13 +18079,13 @@ msgid "" "been designed assuming you have 'long' format data. This tutorial will help you\n" "efficiently transform your data regardless of original format." msgstr "" -"For the 'wide' format each row is often a site/subject/patient and you have\n" -"multiple observation variables containing the same type of data. These can be\n" -"either repeated observations over time, or observation of multiple variables (or\n" -"a mix of both). You may find data input may be simpler or some other\n" -"applications may prefer the 'wide' format. However, many of `R`'s functions have\n" -"been designed assuming you have 'long' format data. This tutorial will help you\n" -"efficiently transform your data regardless of original format." +"「横長」形式は、それぞれの行には、場所/主題/患者があり、同じようなデータ型の\n" +"複数の観測変数があります。 時間を変えて繰り返し観測した値や、\n" +"複数の観測変数(又は、その両方)が、これに該当します。\n" +"データ入力がより単純と感じたり、「幅長」形式の方が良いという\n" +"アプリケーションもあるでしょうが、「R」の関数の多くは、\n" +"「縦長」形式データを前提として作られています。ここでは、\n" +"元々の形式に関係なくデータを効率的に変換する方法を学びましょう。" #: r-novice-gapminder/_episodes/14-tidyr.md:38 msgid "![](../fig/14-tidyr-fig1.png)" @@ -18106,24 +18099,23 @@ msgid "" "to the formatting of databases. The ID variables in our dataframes are similar to\n" "the fields in a database and observed variables are like the database values." msgstr "" -"These data formats mainly affect readability. For humans, the wide format is\n" -"often more intuitive since we can often see more of the data on the screen due\n" -"to its shape. However, the long format is more machine readable and is closer\n" -"to the formatting of databases. The ID variables in our dataframes are similar to\n" -"the fields in a database and observed variables are like the database values." +"これらのデータ形式は、主に読みやすさに影響します。画面の形状上、より多くのデータが見られる\n" +"横長形式を、人間は直感的に選好しやすいところですが、縦長形式の方が機械が読みやすく、\n" +"データベースの形式に近いのです。データフレームにある ID 変数は、データベースにあるフィールドの\n" +"ようなものであり、観測された変数はデータべースの値のようなものです。" # header #: r-novice-gapminder/_episodes/14-tidyr.md:46 msgid "## Getting started" -msgstr "## Getting started" +msgstr "## 手始めに" #: r-novice-gapminder/_episodes/14-tidyr.md:48 msgid "" "First install the packages if you haven't already done so (you probably\n" "installed dplyr in the previous lesson):" msgstr "" -"First install the packages if you haven't already done so (you probably\n" -"installed dplyr in the previous lesson):" +"まず、パッケージをインストールしましょう、もしまだやっていなければですが\n" +"(おそらく、前の dplyr のレッスン、インストールしているかと思います):" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:52 @@ -18140,7 +18132,7 @@ msgstr "" #: r-novice-gapminder/_episodes/14-tidyr.md:58 msgid "Load the packages" -msgstr "Load the packages" +msgstr "パーッケージをロードしましょう。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:61 @@ -18157,7 +18149,7 @@ msgstr "" #: r-novice-gapminder/_episodes/14-tidyr.md:67 msgid "First, lets look at the structure of our original gapminder dataframe:" -msgstr "First, lets look at the structure of our original gapminder dataframe:" +msgstr "始めに、そもそもの gapminder データフレームのデータ構造を見てみましょう:" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:77 @@ -18195,14 +18187,14 @@ msgid "" "> > (`pop`,`lifeExp`,`gdpPercap`)." msgstr "" ">\n" -"> Is gapminder a purely long, purely wide, or some intermediate format?\n" +"> gapminder は、横長のみ、縦長のみ、又はその中間の形式でしょうか。\n" ">\n" ">\n" -"> > ## Solution to Challenge 1\n" +"> > ## チャレンジ1の解答\n" "> >\n" -"> > The original gapminder data.frame is in an intermediate format. It is not\n" -"> > purely long since it had multiple observation variables\n" -"> > (`pop`,`lifeExp`,`gdpPercap`)." +"> > 元々の gapminder data.frame は、中間の形式です。\n" +"> > 複数の観測変数(`pop`,`lifeExp`,`gdpPercap`)があるため、\n" +"> > 縦長のみのデータとは言えません。" #: r-novice-gapminder/_episodes/14-tidyr.md:102 msgid "" @@ -18215,14 +18207,14 @@ msgid "" "few operations that would need us to stretch out this dataframe any longer\n" "(i.e. 4 ID variables and 1 Observation variable)." msgstr "" -"Sometimes, as with the gapminder dataset, we have multiple types of observed\n" -"data. It is somewhere in between the purely 'long' and 'wide' data formats. We\n" -"have 3 \"ID variables\" (`continent`, `country`, `year`) and 3 \"Observation\n" -"variables\" (`pop`,`lifeExp`,`gdpPercap`). I usually prefer my data in this\n" -"intermediate format in most cases despite not having ALL observations in 1\n" -"column given that all 3 observation variables have different units. There are\n" -"few operations that would need us to stretch out this dataframe any longer\n" -"(i.e. 4 ID variables and 1 Observation variable)." +"ときどき gapminder データセットのように、観測データが複数の型の場合があります。\n" +"これは「縦長」と「横長」のデータ形式の中間のようなものです。\n" +"3つの「ID variables」(`continent`, `country`, `year`)と、3つの「観測変数」\n" +"(`pop`,`lifeExp`,`gdpPercap`)がありますね。3つの観測変数が、全ての違う\n" +"単位であり、全ての変数が1列になってはいませんが、個人的には、自分のデータを、\n" +"この中間形式にしたいと思うことが多いです。このデータフレームをより縦長に広げたい\n" +"(つまり、4つの ID 変数と1観測変数にしたい)というときに使える操作は、\n" +"ほとんどありません。" #: r-novice-gapminder/_episodes/14-tidyr.md:111 msgid "" @@ -18235,19 +18227,18 @@ msgid "" "we change the structure of the dataframe. **Note:** Some plotting functions in\n" "R actually work better in the wide format data." msgstr "" -"While using many of the functions in R, which are often vector based, you\n" -"usually do not want to do mathematical operations on values with different\n" -"units. For example, using the purely long format, a single mean for all of the\n" -"values of population, life expectancy, and GDP would not be meaningful since it\n" -"would return the mean of values with 3 incompatible units. The solution is that\n" -"we first manipulate the data either by grouping (see the lesson on `dplyr`), or\n" -"we change the structure of the dataframe. **Note:** Some plotting functions in\n" -"R actually work better in the wide format data." +"一方で、R の関数の多くは、ベクトルに基づいているものがほとんどであり、ふつうは\n" +"単位が異なる値に、数理的演算をすることは避けたいと思うでしょう。\n" +"例えば、縦長の形式のみを使って、人口、平均余命及びGDPの値の全てを使って、\n" +"ひとつ平均値を出しても、意味がないでしょう。3つの比較できない単位の値の平均と\n" +"なるのですから。解決方法は、データをまずグループ化(`dplyr` のレッスンを参照)するか、\n" +"データフレームの形式を変えることでしょう。 **注:** Rのプロット関数の中には、\n" +"横長形式のデータの方がよいものもあります。" # header #: r-novice-gapminder/_episodes/14-tidyr.md:120 msgid "## From wide to long format with gather()" -msgstr "## From wide to long format with gather()" +msgstr "## gather() を使って、横長から縦長形式へ" #: r-novice-gapminder/_episodes/14-tidyr.md:122 msgid "" @@ -18255,18 +18246,18 @@ msgid "" "'real' data (i.e. our own research data) will never be so well organized. Here\n" "let's start with the wide format version of the gapminder dataset." msgstr "" -"Until now, we've been using the nicely formatted original gapminder dataset, but\n" -"'real' data (i.e. our own research data) will never be so well organized. Here\n" -"let's start with the wide format version of the gapminder dataset." +"ここまでは、元々の gapminder データセットの形式を整えてきましたが、\n" +"'本物の' データ(つまり、研究データ)が、ちゃんと整理されていることは\n" +"ほとんどないでしょう。ここで、gapminderデータセットの横長形式から、始めてみましょう。" # blockquote, which can be cascaded #: r-novice-gapminder/_episodes/14-tidyr.md:126 msgid "> Download the wide version of the gapminder data from [here](https://raw.githubusercontent.com/swcarpentry/r-novice-gapminder/gh-pages/_episodes_rmd/data/gapminder_wide.csv)" -msgstr "> Download the wide version of the gapminder data from [here](https://raw.githubusercontent.com/swcarpentry/r-novice-gapminder/gh-pages/_episodes_rmd/data/gapminder_wide.csv)" +msgstr "> 横長バージョンの gapminder データを [ここ](https://raw.githubusercontent.com/swcarpentry/r-novice-gapminder/gh-pages/_episodes_rmd/data/gapminder_wide.csv)からダウンロードしましょう。" #: r-novice-gapminder/_episodes/14-tidyr.md:127 msgid "and save it in your data folder." -msgstr "and save it in your data folder." +msgstr "そしてフォルダーに保存します。" #: r-novice-gapminder/_episodes/14-tidyr.md:129 msgid "" @@ -18274,9 +18265,8 @@ msgid "" "country columns to be factors, so we use the stringsAsFactors argument for\n" "`read.csv()` to disable that." msgstr "" -"We'll load the data file and look at it. Note: we don't want our continent and\n" -"country columns to be factors, so we use the stringsAsFactors argument for\n" -"`read.csv()` to disable that." +"データファイルをロードして見てみましょう。 注:大陸と国の列は、因子型にはしたくありません。\n" +"そこで、そうならないように、stringsAsFactors 引数を `read.csv()` 使いましょう。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:134 @@ -18388,9 +18378,9 @@ msgid "" "convert from the wide to the long format. The `tidyr` function `gather()` will\n" "'gather' your observation variables into a single variable." msgstr "" -"The first step towards getting our nice intermediate data format is to first\n" -"convert from the wide to the long format. The `tidyr` function `gather()` will\n" -"'gather' your observation variables into a single variable." +"我々の目指す中間形式のデータに向かう最初のステップは、\n" +"横長から縦長形式への変換です。 `tidyr` 関数の `gather()` を使えば、\n" +"観測変数をひとつの変数に '集める(gather)' することができます。" #: r-novice-gapminder/_episodes/14-tidyr.md:191 msgid "![](../fig/14-tidyr-fig3.png)" @@ -18438,9 +18428,9 @@ msgid "" "previous lesson with dplyr. In fact, these are compatible and you can use a mix\n" "of tidyr and dplyr functions by piping them together" msgstr "" -"Here we have used piping syntax which is similar to what we were doing in the\n" -"previous lesson with dplyr. In fact, these are compatible and you can use a mix\n" -"of tidyr and dplyr functions by piping them together" +"ここでは、以前 dplyr のレッスンの中で行ったようなパイプの書き方を使いました。\n" +"実は、tidyr と dplyr 関数は互換性があり、パイプで繋ぐことで、一緒に使うことが\n" +"できるのです。" #: r-novice-gapminder/_episodes/14-tidyr.md:217 msgid "" @@ -18453,14 +18443,12 @@ msgid "" "syntax of using the `-` symbol to identify which variables are not to be\n" "gathered (i.e. ID variables)" msgstr "" -"Inside `gather()` we first name the new column for the new ID variable\n" -"(`obstype_year`), the name for the new amalgamated observation variable\n" -"(`obs_value`), then the names of the old observation variable. We could have\n" -"typed out all the observation variables, but as in the `select()` function (see\n" -"`dplyr` lesson), we can use the `starts_with()` argument to select all variables\n" -"that starts with the desired character string. Gather also allows the alternative\n" -"syntax of using the `-` symbol to identify which variables are not to be\n" -"gathered (i.e. ID variables)" +"始めに、新しいID変数(`obstype_year`)のための新しい列、新しくまとめた\n" +"観測変数(`obs_value`)、及び古い観測変数を `gather()` の中で名付けましょう。 \n" +"全ての観測変数をタイプすることもできますが、 `select()` 関数(`dplyr` レッスン参照)\n" +"でしたように、引数 `starts_with()` で目的の文字列で始まる全ての変数を選びましょう。\n" +"Gather には、集めない変数(つまりID変数)を特定する、`-` シンボルを使う\n" +"別の書き方もあります。" #: r-novice-gapminder/_episodes/14-tidyr.md:226 msgid "![](../fig/14-tidyr-fig4.png)" @@ -18504,9 +18492,9 @@ msgid "" "ID variable and 40 Observation variables with irregular variables names. The\n" "flexibility is a huge time saver!" msgstr "" -"That may seem trivial with this particular dataframe, but sometimes you have 1\n" -"ID variable and 40 Observation variables with irregular variables names. The\n" -"flexibility is a huge time saver!" +"これは、このデータフレームでは、取るに足らないことかもしれませんが、\n" +"1つの ID 変数と40の変則的な変数名を持つ観測変数がある場合も時にはあります。\n" +"柔軟性があることで、かなり時間が節約できるのです!" #: r-novice-gapminder/_episodes/14-tidyr.md:251 msgid "" @@ -18514,9 +18502,9 @@ msgid "" "type (`pop`,`lifeExp`, or `gdpPercap`) and the `year`. We can use the\n" "`separate()` function to split the character strings into multiple variables" msgstr "" -"Now `obstype_year` actually contains 2 pieces of information, the observation\n" -"type (`pop`,`lifeExp`, or `gdpPercap`) and the `year`. We can use the\n" -"`separate()` function to split the character strings into multiple variables" +"ここで `obstype_year` には、実は2種類の情報が含まれています。\n" +"観測値の形(`pop`、`lifeExp`、又は`gdpPercap`)及び `year` です。 \n" +"文字列を複数の変数に分割するには、 `separate()` 関数が使えます。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:256 @@ -18571,10 +18559,10 @@ msgid "" "> >{: .output}" msgstr "" ">\n" -"> Using `gap_long`, calculate the mean life expectancy, population, and gdpPercap for each continent.\n" -">**Hint:** use the `group_by()` and `summarize()` functions we learned in the `dplyr` lesson\n" +"> `gap_long` を使って、各大陸の平均余命、人口及びgdpPercapを計算しましょう。\n" +">**ヒント:** `dplyr` で習った `group_by()` と `summarize()` 変数を使いましょう。\n" ">\n" -"> > ## Solution to Challenge 2\n" +"> > ## チャレンジ2の解答\n" "> >\n" "> >~~~\n" "> >gap_long %>% group_by(continent,obs_type) %>%\n" @@ -18610,7 +18598,7 @@ msgstr "" # header #: r-novice-gapminder/_episodes/14-tidyr.md:303 msgid "## From long to intermediate format with spread()" -msgstr "## From long to intermediate format with spread()" +msgstr "## spread() で縦長から中間形式へ" #: r-novice-gapminder/_episodes/14-tidyr.md:305 msgid "" @@ -18619,10 +18607,9 @@ msgid "" "can then spread our `gap_long()` to the original intermediate format or the\n" "widest format. Let's start with the intermediate format." msgstr "" -"It is always good to check work. So, let's use the opposite of `gather()` to\n" -"spread our observation variables back out with the aptly named `spread()`. We\n" -"can then spread our `gap_long()` to the original intermediate format or the\n" -"widest format. Let's start with the intermediate format." +"仕事を確認することは、とても良いことです。 `gather()` の反対の名は体を表す `spread()` を使って、\n" +"観測変数を元通りに広げてみましょう。そこから `gap_long()` を、元々の中間形式、又は、\n" +"一番横長な形式に広げることもできます。まずは、中間形式から始めましょう。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:311 @@ -18676,9 +18663,8 @@ msgid "" "the original `gapminder`, but the order of the variables is different. Let's fix\n" "that before checking if they are `all.equal()`." msgstr "" -"Now we've got an intermediate dataframe `gap_normal` with the same dimensions as\n" -"the original `gapminder`, but the order of the variables is different. Let's fix\n" -"that before checking if they are `all.equal()`." +"元々の `gapminder` と同じ次元を持つ、中間形式のデータフレーム `gap_normal` ができましたが、\n" +"変数の順番が違います。 このふたつが、 `all.equal()` かを調べる前に、これを直しましょう。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:371 @@ -18750,9 +18736,7 @@ msgstr "" msgid "" "We're almost there, the original was sorted by `country`, `continent`, then\n" "`year`." -msgstr "" -"We're almost there, the original was sorted by `country`, `continent`, then\n" -"`year`." +msgstr "もうすぐです。元々のは、 `country` 、 `continent` 、そして `year` でソートされていました。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:432 @@ -18772,8 +18756,8 @@ msgid "" "That's great! We've gone from the longest format back to the intermediate and we\n" "didn't introduce any errors in our code." msgstr "" -"That's great! We've gone from the longest format back to the intermediate and we\n" -"didn't introduce any errors in our code." +"すばらしい!一番縦に長い形式から、中間形式に戻し、コードにエラーが\n" +"でることもありませんでした。" #: r-novice-gapminder/_episodes/14-tidyr.md:448 msgid "" @@ -18784,12 +18768,11 @@ msgid "" "combinations) and we also need to unify our ID variables to simplify the process\n" "of defining `gap_wide`" msgstr "" -"Now lets convert the long all the way back to the wide. In the wide format, we\n" -"will keep country and continent as ID variables and spread the observations\n" -"across the 3 metrics (`pop`,`lifeExp`,`gdpPercap`) and time (`year`). First we\n" -"need to create appropriate labels for all our new variables (time*metric\n" -"combinations) and we also need to unify our ID variables to simplify the process\n" -"of defining `gap_wide`" +"さぁ、縦長のものを、全て横長に戻しましょう。横長の形式で、\n" +"国と大陸を、ID変数として置いておいて、3行列(`pop`、`lifeExp`、`gdpPercap`)\n" +"及び時間(`year`)に観測値を分けていきましょう。まず、全ての変数(time*metric の組み合わせ)\n" +"に適当なラベルを付ける必要があります。また、`gap_wide` を定義する処理を簡単にするために、\n" +"ID変数たちを統合する必要もあります。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:456 @@ -18863,9 +18846,8 @@ msgid "" "`continent`,`country`,and we have defined variable names. We're now ready to\n" "pipe in `spread()`" msgstr "" -"Using `unite()` we now have a single ID variable which is a combination of\n" -"`continent`,`country`,and we have defined variable names. We're now ready to\n" -"pipe in `spread()`" +"`unite()` を使い、`continent`と`country`を組み合わせ、ID 変数をひとつ作り、\n" +"変数名を定義しました。 `spread()` でパイプを使う準備が整いました。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:498 @@ -18987,10 +18969,10 @@ msgid "" "> >{: .language-r}" msgstr "" ">\n" -"> Take this 1 step further and create a `gap_ludicrously_wide` format data by spreading over countries, year and the 3 metrics?\n" -">**Hint** this new dataframe should only have 5 rows.\n" +"> この一つ先に進み、 `gap_ludicrously_wide` を作り、国、年及び3つの行列に展開したデータを作りましょう。\n" +">**ヒント** この新しいデータフレームには、5行しかありません。\n" ">\n" -"> > ## Solution to Challenge 3\n" +"> > ## チャレンジ3の解答\n" "> >\n" "> >~~~\n" "> >gap_ludicrously_wide <- gap_long %>%\n" @@ -19004,8 +18986,8 @@ msgid "" "Now we have a great 'wide' format dataframe, but the `ID_var` could be more\n" "usable, let's separate it into 2 variables with `separate()`" msgstr "" -"Now we have a great 'wide' format dataframe, but the `ID_var` could be more\n" -"usable, let's separate it into 2 variables with `separate()`" +"今、とても '横長な' 形式のデータフレームがありますが、 `ID_var` は、より使えるようにできるはずです。\n" +"`separate()` を使って、2変数に分けてみましょう。" # code block #: r-novice-gapminder/_episodes/14-tidyr.md:572 @@ -19130,7 +19112,7 @@ msgstr "" #: r-novice-gapminder/_episodes/14-tidyr.md:642 msgid "There and back again!" -msgstr "There and back again!" +msgstr "そこにまた戻りました!" # unordered list #: r-novice-gapminder/_episodes/14-tidyr.md:647 @@ -20181,7 +20163,7 @@ msgid "" "project becomes more modular and easier to change. This is especially the case\n" "for which a particular input always gives a particular output." msgstr "" -"もし、計算が、一連の関数で行われていた場合、プロジェクトは、よりモジュール化され、変更するのが簡単になります。\n" +"もし一連の関数で演算が行われていた場合、プロジェクトは、よりモジュール化され、変更するのが簡単になります。\n" "これは、特定のインプットが必ず特定のアウトプットを返す場合に特にあてはまります。" # header