個人財務 Microsoft Excelで実行したRでできる10のこと - ダミー

Microsoft Excelで実行したRでできる10のこと - ダミー

目次:

ビデオ: Azure Friday | Introducing Azure DB for PostgreSQL 2024

ビデオ: Azure Friday | Introducing Azure DB for PostgreSQL 2024
Anonim

スプレッドシートは、おそらく最も広く使用されているPCアプリケーションの1つです。スプレッドシートを使用すると、計算やその他の操作を表形式で行うことが非常に簡単になりますデータ。しかしスプレッドシートにはいくつかのリスクもあります。それらは破損しやすく、デバッグが非常に難しいです。良いことは、Rを使用してスプレッドシートで行ったことと同じことをたくさん行うことができることです。

行と列の合計を追加する

<! - 1 - >

スプレッドシートで頻繁に行う作業の1つは、行または列の合計を計算することです。これを行う最も簡単な方法は、関数rowSums()とcolSums()を使うことです。同様に、rowMeans()およびcolMeans()を使用して平均を計算します。

組み込みデータセットのアイリスで試してみましょう。まず、5番目の列を削除します。この列には、虹彩の種を表すテキストが含まれています( >> iris)。 num < - iris [、-5]

次に、各列の合計と平均を計算します。

<!この2つの関数は非常に便利ですが、各列または行ごとに他の統計量を計算したい場合があります。配列やデータフレームの行や列を簡単にトラバースする方法はapply()関数です。たとえば、列の最小値を得ることは、データの2番目の次元にmin()関数を適用することと同じです。 >> apply(iris。num、2、min)> apply(iris。num、最大)

数値の書式設定
<! - 3 - >

format()を使用すると、数値をきれいなテキストに変えて印刷することができます。この関数は、結果の形式を制御するためにいくつかの引数をとります。ここにはいくつかあります:

trim

論理値です。 FALSEの場合は、結果を右寄せするスペースを追加します。 TRUEの場合、先頭のスペースは表示されません。

数字

  • 表示する数値の有効桁数。 nsmall

  • 小数点以下の最小桁数。 さらに、小数点の書式を10進数で制御します。 mark、間隔の間のマーク

  • before 大きいと小数点。小数点以下の小数点以下の小数点以下の桁数は、小数点以下の小数点以下を除いて小数点以下を切り捨てます。マーク。 たとえば、小数点としてコンマを、大角記号としてスペースを、小さな記号としてドットを使用して、12345 6789を印刷できます。 >>形式(12345,6789、数字= 9、小数)。より実用的な例として、以下のように計算することができる。【数1】【数2】【数3】【数12】【数12】【数12】【数12】【数12】【数12】【数12】【数12】 mtcarsのいくつかの列の手段を使って、小数点以下2桁の結果を出力するには、 >> x format(x、digits = 2、nsmall = 2)mpg cyl disp hp "を使います。09 "" 6. 19 "" 230。 72 "" 146。 69 "

結果は数値ではなくテキスト文字列であることに注意してください。したがって、数値書式を使用する場合は注意してください。これは、レポートワークフローの最後のステップである必要があります。 CやC ++に似た言語でのプログラミングに精通している場合は、sprintf()関数も便利です。このラッパーを使用すると、書式設定された数値を直接文字列に貼り付けることができます。 数値をパーセンテージに変換する例を次に示します。 >> x sprintf( "%.1f %%"、100 * x)[1] "50。 0% "" 51。 0% "" 52。 0% "" 53。 0% "" 54。 0% "" 55。 0% " sprintf()の最初の引数はフォーマットを示します。この場合、"%。 1f %%」となります。 format引数は、このリテラルを変数で置き換えて何らかのフォーマットを適用する必要があることを示す特別なリテラルを使用します。リテラルは常に%記号で始まります。したがって、この場合、%。 1fは小数点以下1桁の固定小数点値として最初に供給された値をフォーマットすることを意味し、%%はa%を出力することを意味するリテラルです。 いくつかの数値を通貨としてフォーマットするには - この場合、米国ドル - 使用: >>を設定します。 (1)> x sprintf( "$%3.2f"、x)[1] "$ 265. 51" "$ 372. 12" "$ 572. 85" "$ 908. 21" "$ 201. 68 "

sprintf()関数は、変数の値を文字列に貼り付ける別の方法を提供します: >> stuff price sprintf("%s cost $%3。2f "、stuff、price)] "bread costs $ 2"クッキーは$ 4.00を要します。00 "

ここで起こるのは、sprintf()に2つのベクトル(それぞれ2つの要素)を与えたため、結果は2つの要素。 Rは要素を循環し、sprintf()リテラルに配置します。

sprintf()でできることはpaste()とformat()ですべて行うことができるので、実際に使う必要はありません。しかし、そうすることで、コードを単純化することができます。

データの並べ替え

Rでデータを並べ替えるには、sort()またはorder()関数を使用します。

データフレームmtcarsを列hpの昇順または降順にソートするには、次のように使用します。 with(mtcars、mtcars [order(hp、decre) = TRUE)、])

スプレッドシートを使って選択すると、すべての種類の「What if? "分析する。これを行う1つの方法は、スプレッドシートでif()関数を使用することです。

Rにはif()関数もありますが、主にスクリプトのフロー制御に使用されます。通常、Rのベクトル全体に対して計算を実行したいので、ifelse()関数を使用する方が適切です。

mtcarsデータセット内で高い燃費の自動車を特定するためにifelse()を使用する例を次に示します。 >> mtcars < - transform(mtcars、+ mpgClass = ifelse(mpg mtcars [mtcars $ mpgClass == "High" 、]

条件付き合計の計算

Excelでおそらく多かったことは、関数sumif()とcountif()で条件付きの合計と数を計算することです。

Rの2つの方法:

ifelseを使用します。

データのサブセットに対する関心の度合いを単純に計算します。

mtcarsの燃費の条件付き平均を計算したいとします。これはmean()関数で行います。ここで、150馬力のしきい値のいずれかの側の車の燃費を得るには、次のように試してください:ベクトルの要素の数を数えることは、その長さを求めることと同じです。つまり、Excelの関数countif()は次のようになります。 )は、長さ(R)に相当する長さを持ちます: >> with(mtcars、length(mpg [hp> 150]))[1] 13

列または行の移調

Rの場合、行列を転置する関数はt()です。 >> xx [、1] [、2] [、3] [1、] 1 5 9 [2、] 2行列の転置を得るには、t()を使用する。 >> t(x)[、1] [、2] [、 t()を使用してデータフレームをトランスポーズすることもできますが、データフレームをトランスポーズするときには注意してください(3)[4] [1、] 1 2 3 4 [2、] 5 6 7 8 [3、転置の結果は常に行列(または配列)です。配列は常に1つの型しか持たないので数値や文字などの変数の場合、結果の変数型が期待どおりにならないことがあります。

一意または重複値の検索

データ内のすべての一意の値を識別するには、unique()関数を使用します。 mtcarsのシリンダー数のユニークな値を調べてみましょう: >> unique(mtcars $ cyl)[1] 6 4 8

データのどの値が重複しているかを知りたいことがあります。状況に応じて、これらの複製は有効ですが、重複したエントリがデータ入力の問題を示すことがあります。

重複したエントリを識別する機能が複製されています()。組み込みのデータセットのアイリスには、行143に重複した行があります。自分自身で試してみてください: >> dupes head(dupes)[1] FALSE FALSE FALSE FALSE FALSE>セカンド長さセパール。幅の花弁。長さ花弁。幅種143 5. 8 2. 7 5. 1 1. 9 virginica

duplicated()の結果は論理ベクトルなので、インデックスとして使用してデータから行を削除できます。これを行うには、否定演算子 - 感嘆符(!dupesのように)を使用します: >> iris [!ルックアップテーブルの操作

Excelなどのスプレッドシートアプリケーションでは、関数lookupテーブルを関数vlookupまたはインデックスとマッチの組み合わせで作成することができます(例:dupes、]> nrow(iris [!dupes、]) 。

Rでは、merge()またはmatch()を使用すると便利です。 match()関数は、ルックアップ値と一致する要素の位置を持つベクトルを返します。

たとえば、トヨタカローラの位置をmtcarsの行名で検索するには、次のようにします。 >> index index [1] 20> mtcars [index、1:4] mpg cyl disp hp Toyota Corolla 33. 9 4 71. 1 65

ピボットテーブルの操作

  • Rの単純なテーブルでは、tapply()関数を使用してExcelのピボットテーブルと同様の結果を得ることができます。ここでは、tapply()を使用して、シリンダーとギアの数が異なる自動車の平均馬力を計算する例を示します:3 4 5 4 97(mtcars、tapply(hp、list(cyl、gear) 0000 76. 0 102. 0 6 107. 5000 116. 5 175. 0 8 194. 1667 NA 299. 5 多少複雑なテーブル、つまり2つ以上のクロス分類ファクタを持つテーブルの場合は、 ()関数: >> aggregate(hp〜cyl + gear + am、mtcars、mean)cylギアam hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000 999目標シークとソルバ

  • Rでは、optimize()関数は、関数を最適化するための1つの非常に単純なメカニズムを提供します。

あなたが会社のセールスディレクターであり、あなたの製品に最適な価格を設定する必要があるとします。つまり、収益を最大化する製品の価格を見つけることです。

経済学では、単純な価格モデルでは、価格が上昇したときに特定の製品をより少なく購入すると述べています。 >> sales < - function(price){100-0.5 5 * price}

期待収益は単純に価格と予想売上の積: >>です。収益関数< - function(price){price * sales(price)}

curve()関数を使用して連続関数をプロットすることができます。これは入力としての関数を取り、プロットを生成します。 <509> oldpar curve(sales = 50、to = 150、xname = "price"、main = "Sales")関数を使用して、売上高と収益の振る舞いをプロットします。 ")> curve(収益、50から150、xname ="価格 "、main ="収入 ")> par(oldpar)

結果はこれと似ています。

予想される売上と収益のモデル。

あなたは営業と収益の実用的なモデルを持っています。最大の収入があることがすぐに分かります。次に、R関数optimize()を使用して、その最大値を探します。 optimize()を使用するには、使用する関数(この場合はrevenue())と間隔(この場合は50〜150の価格)を指定する必要があります。デフォルトでは、optimize()は最小値を検索するので、最大値を検索するように指定する必要があります。 >> optimize(収益、間隔= c(50,150)、最大= TRUE)$ maximum [1] 100 $ objective [1] 5000

そしてそこに行く。 100ドルの料金を請求し、5,000ドルの収益を得ると予想しています。

Microsoft Excelで実行したRでできる10のこと - ダミー

エディタの選択

ネットワークのトラブルシューティング:死んだコンピュータの固定 - ダミー

ネットワークのトラブルシューティング:死んだコンピュータの固定 - ダミー

をネットワーク管理者として実行すると、死んだコンピュータを復活させる。コンピュータが完全に故障していると思われる場合は、コンピュータの電源が入っていることを確認してください。コンピュータがサージプロテクタまたは電源タップに接続されている場合は、サージプロテクタまたは...

ネットワークトラブルシューティング:クライアントコンピュータを再起動する - ダミー

ネットワークトラブルシューティング:クライアントコンピュータを再起動する - ダミー

ノットでは、再起動しかできません。場合によっては、コンピュータがちょうど奇妙な動作を開始します。画面に奇妙な文字が表示されたり、Windowsが動いてプログラムを終了できません。時には、コンピュータが混乱してしまうことがあります。

エディタの選択

ゴルフコースを叩く前にウォーミングアップする - ダミー

ゴルフコースを叩く前にウォーミングアップする - ダミー

ゴルフコースでのウォーミングアップはゴルフ練習セッションと同じです。ウォームアップには、ストレッチ、ゴルフクラブのフィーリングの獲得、ボールとの接触、信頼の構築が含まれます。あなたが最初のティーを打つ30〜40分前に起こります。ウォームアップ計画の例を示します。プリファムウォームアップ(40分)...

ゴルフでもっと楽しむ10の方法 - ダミー

ゴルフでもっと楽しむ10の方法 - ダミー

は楽しい試合になるはずですが、多くの場合、他の何よりもイライラします。間違いは欲求不満につながりますが、一般的なゴルフエラーは簡単に回避できます。世界中のゴルフ場で発生する大惨事からあなたを守るための10のヒントがあります:いくつかのゴルフレッスンを受けましょう。あなたが本当に欲しいのなら...

タイプのゴルフパター - ダミー

タイプのゴルフパター - ダミー

あなたのパターは最も重要な武器ですあなたが持っている。クラブメーカは気づいたようです:彼らはめまぐるしく並んだオプションを持ってきました。ハイテクパター市場に出回っているすべてのハイテク(そして高価な)パターと混同しないでください。彼らは色とりどりのように見えますが...

エディタの選択

AutoCADでのレンダリングの歴史 - ダミー

AutoCADでのレンダリングの歴史 - ダミー

は、コンピュータグラフィックスの世界では、 1つ以上の想像上のライトを持つ3Dオブジェクトを抽出し、結果のより現実的な画像を作成します。この技法の一例は、依然としてレンダリングである。一緒につながれた複数のフレームは、コンピュータアニメーションを生成する。ムービーで見られるオブジェクト...

AutoCADのテキストの高さ - ダミー

AutoCADのテキストの高さ - ダミー

AutoCADでは文字の高さが問題になります。スケールの描画は、等号またはコロン(例えば、1/4 "= 1'-0"、1:20、または2:1)を使用してスケールを記述する伝統的な方法です。スケール係数は、たとえば、48,20、または0です。5.描画の倍率...

AutoCADでUCSを保存する方法 - ダミー

AutoCADでUCSを保存する方法 - ダミー

いくつかのリリースから、AutoCADはDynamic UCSを導入しました。ダイナミックはスタティックとは逆なので、3Dオブジェクトの異なる平面上にマウスポインタを移動すると、テンポラリ座標系が変化します。ステータスバーの[Allow / Disallow Dynamic UCS]ボタンをクリックするか、F6キーを押してください。