問題タブ [reshape]

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.

0 投票する
3 に答える
3861 参照

r - Add difference and percent change of every column in a data frame?

I would like to be able to add the difference and percent change to every column in a dataframe.

I'm able to get as far as melting the data and performing the calculations, but I can't figure out how to cast or reshape it back together. I also have a sneaking suspicion that this is easily accomplished with plyr, but the n-1 rows returned by diff() gives me problems.

Using an included dataset:

(I don't know why Delt makes it's own column name, but I've given up on that)

Now, I can cast(longley.m, Year ~ variable) to get back to the original dataset, but I want to be able to have the difference and percent change for each variable in a different column without performing the calculation manually on each variable and then rbinding it back together. I'm pretty confident I've tried every variation of cast to no avail...

Update: Joran solved the Delt column naming issue: coerce it with as.vector!

0 投票する
2 に答える
213 参照

r - 対角線の下のプロット値を並べ替えますか?

x ラベル、y ラベル、そして値を持つ行ごとに整理されたデータ ファイルがあります。基本的な構造は次のようになります。

Factor_1,Factor_2,Number
apple,apple,1
banana,apple,1
apple,kiwi,6
apple,pear,1
watermelon,apple,8
banana,banana,3
banana,kiwi,2
banana,pear,1
banana,watermelon,9
kiwi,kiwi,9
pear,kiwi,4
kiwi,watermelon,4
pear,pear,3
pear,watermelon,9
watermelon,watermelon,1
...
...

このデータを使用して、次のコードを使用して相関行列に似たものを構築しています。

上記のコードにより、次のようなプロットが得られます。

プロット

データを並べ替えて、すべてのデータが対角線の下にグループ化された次の形式のプロットを作成するにはどうすればよいですか?

0 投票する
5 に答える
4571 参照

r - reshape パッケージを使用してこのデータフレームを再形成する方法

次のような構造の非常に大きなデータフレームがあります。

次のようなデータフレームを作成する必要があります。

reshape パッケージを使用する必要があると確信していますが、必要なものを取得できません。

私たちを手伝ってくれますか?

ありがとう

0 投票する
2 に答える
331 参照

r - 列の 2 つの要素を一緒に貼り付ける (または結合する)

一緒に追加した臨床処置請求情報のソースが 2 つあります ( を使用rbind)。各行には、CPT フィールドと、簡単な説明を提供する CPT.description フィールドがあります。ただし、記述は 2 つのソースとは少し異なります。それらを組み合わせることができるようにしたい。そうすれば、別の単語や略語が使用されている場合でも、文字列検索を実行して探しているものを見つけることができます。

それでは、私が生成できたデータ テーブルの簡略化された表現を作成しましょう。

そして、ここに私が到達したいものがあります。

unstack や lapply(list,paste) などの関数を使用してみましたが、それは各リストの要素を貼り付けていません。私も reshape を試みましたが、説明の最初または 2 番目のバージョン、または場合によっては 3 番目のバージョンを区別するためのカテゴリ変数はありませんでした。本当に厄介な部分は、数か月または数年前に同様の問題があり、誰かがstackoverflowまたはr-helpで私を助けてくれましたが、私の人生ではそれを見つけることができません.

根本的な問題は、目の前にスプレッドシートがあると想像してください。隣接する列に同じ CPT コードを持つ 2 つまたは場合によっては 3 つの説明セルの垂直結合 (貼り付け) を行う必要があります。

この問題の解決策を探すために、どの流行語を使用する必要があったでしょうか。手伝ってくれてどうもありがとう。

0 投票する
1 に答える
211 参照

r - Rは行列を作成します

いくつかの外部ファイルを読み取り、いくつかの列を抽出し、欠落している値をゼロで完了する必要があります。したがって、最初のファイルがcolumn $ Nameにある場合:a、b、c、d、および個別の値を持つcolumn$Area。2番目のファイルはいくつかの列にあります:b、d、e、fなど。他のファイルについては、次のようなデータフレームを作成する必要があります。

これは、私の問題をよりよく説明するために書いたダミーコードです。

問題は、列名と各値の間の「同期」に関するものです。

何か提案はありますか?

コードの結果が不明確な場合は、使用しているファイルをアップロードすることもできます。

一番

0 投票する
2 に答える
425 参照

r - R でワイドからロングに形状を変更し、シーケンス番号を含める

現在幅の広いデータを取り、それを長い形式に溶かしたいと考えています。トリックは、シーケンスインジケーターを作成したいということです。

ここに私のデータがあります:

私が探しているもの:

私はこれを使用できると思います:

後でデータを反復処理して結果をクリーンアップしますが、reshape が優れたパッケージであることは知っているので、車輪を再発明する前に質問したいと思いました。

0 投票する
2 に答える
2449 参照

r - パネル データをワイド フォーマットからロング フォーマットに変形

ワイド フォーマットからロング フォーマットへのパネル データセットの変換に苦労しています。データセットは次のようになります。

KP1; KP2 から KP7 まではウェーブを表します。a、b から f までは、特定のアイテムを表します。(例: パーティー a の左から右への配置)

このデータを長い形式で保持したいと考えています。このような:

リシェイプ機能を使ってみました。しかし、私は時間の経過とともにそれを再形成するのに問題を抱えていました.

これは小さな data.frame の例です。

そして、これが私が到達した距離です。

問題は残ります: 時変変数を長い形式で取得するにはどうすればよいですか? そして、このデータを再形成するよりエレガントな方法はありますか? 上記のコードでは、各波と変数の名前 (names(data)[2:4]) を入力する必要があります。この小さな data.frame で問題ありませんが、データセットはかなり大きくなります。

EDIT:この変換を手動で行う方法:私は実際にこれを行ったので、ページ長のコードファイルが残ります。
まず、KP1_430a と KP1_1500a を ID、Time=1、Party=1 の列ごとにバインドします。次に、すべてのパーティ [bf] に対して同じオブジェクトを作成し、パーティ インデックスをそれぞれ変更して、行ごとに追加します。残りのウェーブ [2-7] に対してステップ 1 と 2 を実行し、それぞれパーティと時間変数を変更して、行ごとに追加します。

0 投票する
2 に答える
2257 参照

r - R を使用して列の値を行の名前に変換する

R を使用して、列の値を行の名前に変換する必要があります。

たとえば、format1 を format2 に変換するには

注意してください、format1 には欠損値があり、それが課題だと思います。

正確には説明できないかもしれませんが、上記のおもちゃのデータを参照してください。

reshape と reshape2 については少し知っていますが、両方を使用してデータ形式を変換できませんでした。

0 投票する
3 に答える
7037 参照

r - R: テーブルをベクトルに変形する方法

私は Kruschke の例に取り組んでDoing Bayesian Data Analysisいますが、彼のコード例が必要とする形式にデータを取得する方法を理解するのに少し助けが必要です。第22章で、彼はこのような表を持っています

スプレッドシートに入力して、このようにR使用read.table("clipboard", header=T, sep="\t")または入力することで、表を入力することに慣れていますR

しかし、彼のコードでは、分析の準備ができているようにこのテーブルを提示しています (完全なコードはこちらhttp://www.indiana.edu/~kruschke/DoingBayesianDataAnalysis/Programs/PoissonExponentialJagsSTZ.R )

テーブルが 3 つのベクトルに変換されたように見えます。これを行う最も効率的な方法は何ですか? 彼のデータを自分のデータに置き換えたいので、この分析に必要な形式にデータを変換する方法を学ぶのは素晴らしいことです.

0 投票する
1 に答える
791 参照

r - lapplyは実際にどのように機能しますか-lapplydcast?

明らかに、私はまだlapplyが実際にどのように機能するかを完全には理解していません。もちろん、リスト要素に関数を適用してリストを返します。しかし、カスタム関数で使用する場合、効率的に使用する方法がわかりません。たとえば、dcastを使用するカスタム関数で使用したいと思います。

まず、サンプルデータセットを取得しましょう。

しかし、私はこれをlapplyに合わせることができません、私は試しました:

明らかに、式を評価するときにX[[2L]]は機能しません。さらに試してみました

これはいくつかの同様の問題で機能していましたが、ここでエラーが発生しました。ここで使うべきですか?

編集:ジョシュアの答えがまさに私が望んでいるものであることに私は驚いています。私は前にその道を進んでいましたが、試したときに早くそれを却下しました:

明らかに早すぎますが、何が起こるか説明できますか?