問題タブ [tapply]
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 - ベクトル x から 2 つの別々のグループの 5 つの数値の要約を表示する R 関数 GroupSummary(x) を作成します。
私はこれを実行しました:
私は結果としてこれを得る:
私はそれを正の数のグループと負の数のグループの 2 つのグループに分けようとしています。両方を組み合わせないでください。ヒントやヘルプは大歓迎です
r - 行列の要素のサブセットを R のベクトルの要素に置き換える for ループの代替
ベクトルをmyarray
使用する要素のサブセットを置き換えるために for ループを使用しています。mycons
各列のサブセットはmydates
、最後までです。for
ループに代わるものはありますか?
r - tapply - NA を作成しますか?
一人当たりのユニークな果物の平均数を計算しようとしています (私の通常の練習データ)。これは、次の両方のコード行で完全に機能します。
私の問題は、実際のデータでコードを使用すると機能しないことです。私の実際のデータは処方データであり、1 人あたりの固有の薬の平均数が必要です。Tapply コードを使用すると、元の df には存在しない新しい患者 ID が作成されるようです。また、数千の NA 値が返されました。ID 列に欠損値はなく、drug_code 列にも欠損値はありません
集約コードの場合、エラーが発生します。
何が起こっているのかわかりません。私の実際のデータは、id 列があり、drug/fruit 列があるという点で私の実践データに似ています。どちらの df にも欠損データはありません。データフレームにはlapplyの方が適していることは知っていますが、必ずしもDFバックが必要なわけではありません。いずれにせよ、tapply コードは df である練習データで機能します。ここで何が起こっているのか誰にもわかりませんか?
練習DF:
実際のデータの例:
r - タップしてグループごとに複数の列を合計する
グループごとに個々の列を合計したかったので、最初に考えたのは を使用することtapply
でした。しかし、私はtapply
仕事に就くことができません。tapply
複数の列を合計するために使用できますか? そうでない場合、なぜですか?
インターネットを広範囲に検索したところ、2008 年にさかのぼって投稿された同様の質問が多数見つかりました。代わりに、応答は常に別の機能を使用することを提案します。
以下は、州ごとにリンゴ、州ごとにサクランボ、州ごとにプラムを合計したいデータ セットの例です。その下に、機能する多くの代替案をまとめましtapply
た。
下部に、目的の操作を実行tapply
できるようにするソース コード
への簡単な変更を示します。tapply
それにもかかわらず、おそらく、目的の操作を実行する簡単な方法を見落としている可能性がありtapply
ます。代替機能は探していませんが、追加の代替機能は大歓迎です。
ソース コードに対する私の変更の単純さを考えると、tapply
なぜそれまたは類似のものがまだ実装されていないのか疑問に思います。
アドバイスありがとうございます。私の質問が重複している場合は、他の質問への回答として私の質問を投稿させていただきます.
データセットの例を次に示します。
これは動作しません:
ヘルプページには次のように書かれています:
typically a vector
データフレームが使えるかどうか疑問に思ったフレーズに戸惑いました。私は何atomic object
を意味するのかを明確にしたことはありません。
これに代わるいくつかの方法がtapply
あります。tapply
最初の代替案は、 と組み合わせた回避策ですapply
。
tapply
行を変更した以外のソースコードは次のとおりです。
に:
この変更されたバージョンのtapply
は、目的の操作を実行します。
r - Rで複数の要素によって行列の列に関数を適用する方法は?
これは簡単な質問で、tapply、apply、by などで簡単に解決できると思います。しかし、私はまだ比較的新しいので、アドバイスを求めたいと思います。
問題:
たとえば、5列のデータフレームがあります。たとえば、列 4 と 5 は要因です。列 5 の各因子について、列 5 の各グループの列 1:3 に対して関数を実行したいと考えています。これは、原則として簡単に実行できます。ただし、出力を素敵なテーブルとして表示したいので、これをエレガントな方法で行う方法を学びたいので、ここで質問したいと思います。
例:
さて、コマンド
の各因子レベルに基づいて合計が得られますがy
、これはほとんど私が望むものです。追加の 2 つの手順が必要ですf
。これはほとんど自明です。上記のコマンドを簡単にラップすることができlapply
、これを除いて、必要なものを取得できます。結果を含むテーブルを生成し、それを使用してヒートマップを生成することさえできます。
したがって、これを行い、対応する出力を持つマトリックスを生成する簡単でエレガントな方法はありますか? これは、データ サイエンティストにとって日常的な作業のように思えます。そのため、既存の組み込みソリューションがあると思われます...
どんなに小さなことでも、助けやヒントをありがとう!
r - tapply でリストに引数を渡す
私はRを初めて使用し、関数に引数を渡すのに数日間問題があります。
byステートメントを含むtapplyを使用する関数があります。私のデータセットはリストデータフレームの形式であるため、関数は次のとおりです。
by は変数のリスト (引用符なし) である必要がありますが、問題は関数の呼び出しにあり、変数は認識されません:
これは機能しません。問題は、データがリストであり、データ フレームではないことです。それを超える方法はありますか、それともデータを再形成する必要がありますか? 1 つの方法は、関数呼び出しで for ループを実行することですが、関数を使用して多くの記述を節約できないため、むしろ避けたいと思います。
ありがとうございました。
r - by() [または同等に、tapply()] で「壊れる」INDICES 値を特定する
function を使用する場合、 「壊れる」(技術的にはそれが壊れて、次に壊れる)by
データサブセット (引数によって決定される) を持つことがあります。INDICES
by
FUN
by
に渡されたリストの「悪い」値を特定する方法はありINDICES
ますか? (リストに明示的なループを記述せずに)
r - Rでのタップ出力からのデータのプロット
私は本当の初心者で、修士論文のためにいくつかの金属チューブの材料損失に関するデータを分析しようとしています. 異なるチューブの間隔での材料損失の標準偏差を比較したいと考えています。いくつかのサブマトリックスを作成しtapply
、標準偏差を計算しました。
次のスクリプトがあります。
その出力は、列ヘッダーTube.number
と行タイトルのテーブルMeasurement.location
です。
明確にするために:1、2、3、4、5、6はチューブ番号と列のヘッダーであり、1、10、11 ...は測定場所と行のヘッダーです。
データのさまざまなプロットを作成したいと思います。そのうちの 1 つは、x 軸にチューブ番号、y 軸に導出された標準偏差の広がりを示す Boxplot です。
どこでも検索して、さまざまなことを試しましたが、グラフが表示されません。
誰かが私を助けてくれることを願っています。