問題タブ [rbind]

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 に答える
127 参照

r - df でグループに行を追加する

1data.frame人あたりの行数がさまざまです。ある人が 4 行未満の場合は、4 行にしたいと思います。追加の行は、1 人あたりの最後の行の複製にしたいと思います。たとえば、以下のトムです。

このコードを使用して行を繰り返す方法を知っています:

しかし、ここでの問題は、発生回数が 4 回未満の ID の行のみをレプリケートすることについて、私には議論の余地がないことです。

私はこれを試しました:

使用できると思いますdo.call(rbind, ...)が、やはり、引数をコードに統合することができません。

これが私が試したことです:

また、何回繰り返すかについての引数を含めることもできませんでした。

望ましい出力

再現可能なデータを次に示します。

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

r - R: ループと rbinds から効率的なコードに変換する方法は?

私はRを初めて使用します。解決すべき問題があり、以下の作業関数がそれをうまく解決します(適切な時間で)。しかし、私が R チュートリアルとここ SO で読んでいることから、私はそれを解決するためにあまりにも多くの仕事をしているように感じます。これをすべて数行に折りたたむための派手な R の方法はありますか?

解決する問題: 文字データのデータの CSV ファイルと "flag" 引数を指定して、位置 [row, 1] の値を抽出します。「行」は、「フラグ a」の列「InterestingColumn」の最小値、「フラグ b」の列「Interesting Column」の最大値、または数値の「フラグ」で定義された n 番目の値になるように計算されます。出力は、「InterestingColumn」の一意の値でグループ化する必要があります。返される結果はデー​​タ フレームである必要があります。列のスキーマはわかっていますが、ファイルの長さはわかっていません。

私の本能は、for ループを完全に取り除くことができるはずであり、毎回 rbind を使用した行列の再構築は非効率的であるということです (このように? )

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

r - 新しいデータテーブルに行を書き込むために "for" ループに入れることができる rbind() の代わりに、R でデータを解析していますか?

YC次のようなデータテーブルがあるとします。

それは、1) 実際にはピボット テーブルではなく、ピボット テーブルのように一貫性がなくフォーマットされていること、および 2) データがはるかに複雑であり、数十年にわたって一貫して入力されていないことだけです。データに関して安全に行うことができる唯一の仮定は、各レコードに関連付けられた 12 の変数があり、常に同じ順序で入力されるということです。

私の目標は、このデータを解析して、各属性と関連する数値レコードが次のように 1 行の適切な列に収まるようにすることです。

「レコード」を識別し、別の「レコード」に到達するまでデータ テーブルの列を逆方向に読み取ることで、配列に値を再書き込みする for ループを作成しました。私はRを初めて使用するので、それが可能かどうかわからないまま、理想的なループを書きました。

入力したらarray、ループして、一意のレコードごとYCに新しい行を作成します。YC_NT

データに対して関数内でこのループを実行するとYC_NT、単一の行を含むデータ テーブルが返されます。array検索に数日を費やした後、毎回一意の名前を付けずにデータテーブルの最後の行にベクトルを追加できる R 関数があることを知りません。私の質問:

array1) と呼ばれる前の行を書き換えることなく、データテーブルの最後に呼び出されるベクトルを追加する関数はありarrayますか?

2) そのような関数が存在しない場合array、for ループが新しい数値レコードに到達するたびに新しい名前を作成するにはどうすればよいですか?

ご協力いただきありがとうございます、

0 投票する
6 に答える
19590 参照

r - 文字ベクトルが有効な数値ベクトルまたは整数ベクトルかどうかを判別する方法

ネストされたリスト構造をデータフレームに変換しようとしています。リストは次のようになります (これは、httr パッケージを使用して読み込まれた、解析された JSON からシリアル化されたデータです)。

編集: 元のサンプル データは単純すぎました。実際のデータは不規則です。つまり、すべてのオブジェクトにすべての変数が存在するわけではなく、リスト要素の一部が NULL です。これを反映するようにデータを編集しました。

unlist(myList)リストを再帰的に平坦化する素晴らしい仕事をします。その後lapply、すべてのオブジェクトをうまく平坦化するために使用できます。

そして最後に、plyr::rbind.fill

問題は、w と xy が文字ベクトルとして解釈されるようになり、デフォルトでデータフレームの要素として解析されることです。それunlist()が原因だと思いますが、リスト構造を再帰的にフラット化する別の方法がわかりません。回避策は、データフレームを後処理してからデータ型を割り当てることです。ベクトルが有効な数値ベクトルまたは整数ベクトルかどうかを判断する最良の方法は何ですか?

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

r - 大量のデータ フレームを Rbind する

を使用して 1 つの大きなデータ フレームに結合したい多数のデータ フレームがありますrbind

ここでそれを行うソリューションを見てきましたが、データフレームがデータフレームのリストに格納されていると想定しています。私はそうではなく、一度に 1 つずつ rbined するのと同じくらい多くの作業を行わずに、それらすべてをリストに入れる良い方法を知りません。を使用してデータ フレーム名のリストを取得できますが、(データ フレーム名のリストではls()なく) データ フレームのリストを取得できないようです。

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

r - R の rbind() 関数は、マージされたデータフレームに NA を生成します

R の rbind 関数に関するヘルプが必要です。次の 2 つのデータフレームがあります。

df1

df2

これら 2 つのデータフレームをマージしたいので、rbind 関数を使用して以下を取得します。

しかし、それは私が得たものではありません。merge <- rbind(df1,df2) を使用すると、

したがって、これら 2 つのデータフレームをマージすると、df2 の NA 値が得られます。誰かがこれを正しくするのを手伝ってくれますか?

前もって感謝します!