問題タブ [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 投票する
2 に答える
7683 参照

r - 1 つの列の値のデータを変形する

私のdata.frameは次のようになります

そして、私はこのようなものを取得したい:

reshape() を使ってワイド フォーマットに対応するケースはごくわずかですが、データ フレーム全体 (約 23.000 ID) では reshape() に時間がかかりすぎます。Melt() と cast() はデータを再形成しますが、test_result の値をテストの頻度で置き換えます。これを管理する他のアイデアはありますか?ありがとう!

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

r - 変数値を列として再形成する最速の方法

約300万行のデータセットと次の構造があります。

Rはかなり新しいので、データを以下に概説する構造に再形成する正しい方法を見つけるのに苦労しています。

私の質問は次のとおりです。PrimaryConditionGroupの値がPatientIDとYear(発生数を数える)でグループ化された列になるdata.frameを作成するための最も速く/最もエレガントな方法は何ですか?

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

r - R ロングフォームの PCA

長い形式のデータフレームで PCA を実行したいと思います。

時間1 id1 データ11

時間1 id2 データ12

time2 id1 data21

これを行う簡単な方法はありますか、それとも標準的な方法reshapeですprincomp。私のデータセットはかなり大きく、約 40,000 回と 4,000 個の ID があります。

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

r - Rの下半分の行列を溶かす

下半分の三角形と対角行列を溶かすにはどうすればよいですか?

行と列の data.frame へ (次の順序を維持)

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

regex - R +リシェイプ:正規表現付きのcolsplitを使用

colsplitを使用して、データフレーム内のベクトルを分割しようとしています。colsplitのargとして正規表現があるという事実は、それが柔軟である可能性があると私に思わせますが、私は問題を抱えています(Rの正規表現を理解していないだけかもしれません)。

ここに問題があります:

ベクトルを作成しましょう...

最初のアンダースコアで2つの列に分割したいと思います。言い換えれば、私は私の最終結果がこれになることを望んでいます...

私はそれを行うcolspan内の適切な正規表現を見つけようとしていますが、運がありません。これが私が得ることができる最も近いものです...

これは、分割正規表現を単純な区切り文字として使用し、3つの列を提供します。2番目のアンダースコアを分割したくない(さらに悪いことに、私の実際のデータでは、2つだけではなく任意の数のアンダースコアがあります)。

欲しいものを出す「スプリット」に使える表現はありますか?

colsplitの正規表現によってグループでの一致が可能になり、グループの一致が分割の内容になることを期待していましたが、そうではないようです。

*編集(@Joshuaulrichのおかげで)新しいreshape2を使用すると、colsplitは「意図したとおりに」機能します!!!

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

r - データフレーム内の行値からの箱ひげ図

次のデータフレームを取得しました(ここでは簡略化しています):

ここで、E1 ~ E5 は行番号です。各行の値のボックス プロット (またはより良いバイオリン プロット) を作成したいと思います。列 ID を無視し、行 ID を「要素」として使用したいと考えています。

このトップアンサーのようなもの: ボックスプロットを生成する方法

ただし、値として E1 - E5 を使用します。ご想像のとおり、私は溶かしたり、キャストしたり、形を変えたりするのが初めてです。

ご助力ありがとうございます

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

r - Rで不均衡なデータのマトリックスを作成してループしようとしています

階層ベイジアン分析を実行しようとしていますが、R と WinBUGS コードに少し問題があります。バランスの取れたデータがなく、コーディングに苦労しています。トランセクトで iButton (温度記録デバイス) を使用して毎日収集された温度データがあり、これをリモート センシング データに関連付けるモデルを生成しようとしています。残念ながら、各トランセクトには異なる数の iButton があるため、トランセクト (j) でボタン (i) の 3D マトリックスを作成し、day(t) に繰り返し「サンプリング」することは私にとって問題です。

最終的に、私のモデルは次のようになります。

レベル 1 Temp[ijk] ~ N(theta[ijk], tau) theta[ijk] = b0 + b1*x1 + . . . + bn*xn

レベル 2 b0 = a00 + a01*y1 + . . . an*yn b1 = a10 + a11*y1 ...

レベル 3 (たぶん?) - ランダムなレベル 2 インターセプト

通常、私は次のようにします: Wide <- reshape(Data1, idvar = c("iButton","block"), timevar = "julian", direction = "wide")

次に、WinBUGS または OpenBUGS でループできる 3D マトリックスを作成できます。

いずれにせよ、上記のコードの詳細について心配する必要はありません。他の分析からの例として一緒にスローされているだけです。私の主な質問は、トランセクトごとに同数の iButton を持つバランスの取れた設計がない場合に、この種の分析を行う方法です。どんな助けでも大歓迎です。私は明らかに R と WinBUGS の初心者であり、以前のコンピューター コーディングの経験はあまりありません。

ありがとう!

ああ、これはデータが長い(積み重ねられた)形式でどのように見えるかです:

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

performance - 行を維持しながら行列を 3 次元から 2 次元に変形

3D マトリックスを 2D マトリックスに変換しています。これは形状変換です: [nxmxo] -> [n*oxm]。

行列の要素は行に関連しています。したがって、結果の行列に同じ行が必要です。

これを行う:

行を A に保持していません。

だから私はこれを行います:

おそらくreshapeを使用するより効率的な方法はありますか?

どうもありがとう!

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

r - 溶けたデータセットをstrsplit

大きなCSVファイルの形式で提供される遺伝子検査の結果をグラフ化しようとしています。CSVの各x、y位置は数値スコアであり、そのほとんどはゼロです。ゼロ以外のデータにのみ関心があります。また、各XおよびYタイトルの名前には、データをさらにサブセット化するために使用したい追加情報があります。私がやりたかったのは、データを溶かし、値がゼロのすべての行を削除し、溶かしたデータを文字列分割して、キャストに使用できる追加の列を作成することです。ただし、溶けたデータを文字列分割しようとすると問題が発生します。コマンドといくつかのサンプルデータは次のとおりです。

これにより、以下のデータが得られます。

頭(small.melt)

ただし、$ variable列で文字列分割を実行しようとすると、次の結果が得られます。

理由について何か考えはありますか?またはこれを回避する方法は?

ありがとうzachcp

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!