問題タブ [reshape2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R の reshape と reshape2
reshape
開発がパッケージからパッケージに移行した理由を理解しようとしていreshape2
ます。機能的には同じように見えますがreshape2
、サーバーで実行されている R のバージョンが古いため、現在アップグレードできません。の開発を単に継続するのではなく、まったく新しいパッケージに開発を移す重大なバグの可能性を懸念していますreshape
。reshape
パッケージに重大な欠陥があるかどうか誰か知っていますか?
r - reshape2 を使用した列の小計
reshape2
私は今、学習に時間を費やしましplyr
たが、まだ理解できていません。今回は、(a) 小計と (b) 異なる集計関数を渡すことに問題があります。ここでは、mrdwabのブログのチュートリアルのデータを使用した例を示します
今私の質問:
小計を行に追加できました。ただし、列に余白を追加することもできますか。たとえば、あるパブリッシャーの在庫の合計を考えてみてください。申し訳ありませんが、すべてのサイト運営者の合計販売数の例を言うつもりでした。「比率」の列に問題があります。この変数の「合計」ではなく「平均」を取得するにはどうすればよいですか?
注意: 質問 1 (余白の小計について) は解決できます。
PS: を使用した例をいくつか見reshape
ました。代わりに使用することをお勧めしますかreshape2
(2 つの機能の機能が含まれていないようです)。
r - 複数セットの測定列 (ワイド形式) を 1 つの列 (ロング形式) に再形成する
さまざまな日付範囲内で繰り返し測定されたワイド フォーマットのデータフレームがあります。私の例では、3 つの異なる期間があり、すべて対応する値があります。たとえば、最初の測定 ( ) は からまでValue1
の期間に測定されました。DateRange1Start
DateRange1End
DateRangeXStart 列と DateRangeXEnd 列がグループ化されるように、データを長い形式に再形成しようとしています。したがって、元のテーブルの 1 行は、新しいテーブルでは 3 行になります。
reshape2
/ melt
/ recast
/でこれを行う方法があるに違いないことはわかっていtidyr
ますが、この特定の方法で、メジャー変数の複数のセットを値列の単一のセットにマップする方法を理解できないようです。
r - reshape2がインストールおよびロードされているにもかかわらず、関数「キャスト」が見つかりませんでした
セクション2.4のHadleyWickhamの「データとモデルを探索するための実用的なツール」の例に続いて、私が得ている溶融データError: could not find function "cast"
のキャスト。reshape2パッケージをインストールしてロードしました。
r - キャストのデフォルトのセパレーターを変更する
キャスト (dcast) が新しい列ヘッダーを割り当てるときに、デフォルトのセパレーターを変更することはできますか?
ファイルをロングからワイドに変換すると、次のヘッダーが表示されます。
reshape では、「sep」パラメーター (sep="") と列ヘッダーの出力を次のように割り当てることができます。
ただし、200,000 行を超えるデータ フレームの場合、reshape には数分かかりますが、dcast には数秒かかります。dcast は、必要な順序で列を出力しますが、reshape はそうではありません。dcast を使用して出力を変更する簡単な方法はありますか、または列ヘッダーを手動で変更する必要がありますか?
例えば:
この例では、列ヘッダーが表示されます。
列ヘッダーを読みたい:
私が試してみました:
シンボルを指定しても出力が変わらないため、dcast は sep を完全に無視しているように見えます。
r - 「繰り返し発生する」列を使用してデータフレームを再形成するにはどうすればよいですか?
Rを使用したデータ分析は初めてです。最近、事前にフォーマットされた環境観測モデルデータセットを取得しました。そのサブセットの例を以下に示します。
基本的に、データには、「繰り返し発生する列」のさまざまなサイト、つまりサイト-obs-modでの汚染物質の1時間ごとの観測およびモデル化された濃度の時系列が含まれます(この例では、合計75サイトのうち2つのみを示しました)。この「幅の広い」データセットをデータフレームとして読み込み、次のように「より狭い」形式に再形成したいと思いました。
これを行うには、パッケージ「reshape2」を使用する必要があると思いました。最初に、データセットを溶かしてからdcastしようとしました。
ただし、データの半分しか返されませんでした。つまり、最初のサイト(「キャンパス」)に続くサイト(「市内中心部」)のレコードはすべて切り取られました。
次に、リキャストを試しました。
ただし、次のエラーメッセージが返されました。
以前の質問を検索しようとしましたが、同様のシナリオは見つかりませんでした(間違っている場合は修正してください)。誰かがこれを手伝ってくれませんか?
よろしくお願いします!
r - 複製を含むデータ フレームの形状変更
単純な再形成の問題があるはずですが、わかりません。私のデータの一部は次のようになります。
また
私はそれを次のようにしたい:
等々。このスレッドのように、reshape、cast、および dcast を試しました。
しかし、何も機能していないようです。助けていただければ幸いです。ティア。
r - 集計関数なしで dcast を使用できますか?
重複の可能性:
この R の再形成は単純なはずですが、
dcast
fromreshape2
は、重複がない数式なしで機能します。次のサンプル データを使用します。
これらのデータを取得したいのですが、デフォルトを含むにdcast
関数を適用せずに、値を表にまとめます。value.var
length
この場合、正常に動作します。
ただし、変数が重複している場合、 はfun
デフォルトでlength
. それを回避する方法はありますか?
理想的には、私が探しているのは、fun = NA
を集約しようとしないように、を追加することvalue.var
です。df2 を dcasting したときの結果:
r - 複数のメジャー変数を使用してデータフレームを再形成する
私はこれに似たデータフレームを使用しています:
5か月間に生徒が受けた成績を説明します–それぞれ2つの部分に分けられた2つのクイズで。
2つのクイズを別々の行にまとめる必要があります。これにより、毎月の各生徒は、クイズの各部分に1つずつ、2つの列の2つの行を持ちます。私がテーブルを溶かすとき:
クイズの2つの部分も別々の行で取得します。
もちろん、私は最初の場所に戻ることができ、テーブルを必要なフォームにキャストする方法を見つけることができません。メルトコマンドを次のように機能させる方法はありますか?
r - dcast 関数 (reshape2) の問題 - 3 つの変数の組み合わせ
reshape2 パッケージを使用してデータを整形し、t-test に使用しています。私にとっては、データを別々の列で視覚化する方が簡単です。「wat」が「spp」内にネストされ、「ins」が水内にネストされた 3 つの治療の組み合わせがあります。私のデモ テーブルには、"tyr"、"esc"、"esc_R" という 3 つの応答変数が含まれています。insが応答にどのように影響するかを見ることに興味があります->「spp」の「tyr」->「Bl」、治療「wat」->高(単なる例)。
ここに私のデータがあります: demo.data
そして、dcast関数の実行に問題があります。
以下のスレッドで興味深い情報を見つけました
- Dasonの提案- ToothGrowth デモ データセットで非常にうまく機能します。残念ながら、テーブルに複数の処理 (2 つ以上) がある場合、解決策は単純ではありませんでした。一意の変数を作成することがこの問題の鍵であるという Maiasaura の提案に同意します。しかし、 function(x) が何をするのか、テーブルでどのように使用するのかを理解するのに苦労しています。
この点でどんな助けでも大歓迎です。
さらに、元のデータ フレームを操作せずに t-test を実行するための別の提案 (デモ) があれば、それを聞いて興奮します。
前もって感謝します。
編集 「tyr」について、私が期待しているものは次のとおりです。次の形式では、t 検定を使用して「いいえ」と「はい」を比較します。