問題タブ [r-factor]

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 投票する
13 に答える
2898 参照

r - 複数のカテゴリの ifelse スタイルの再コーディングのイディオム

私はこれによく出くわすので、それには良いイディオムが必要だと思います。「製品」を含む一連の属性を持つ data.frame があるとします。また、製品をブランド + サイズに変換するキーもあります。製品コード 1 ~ 3 はタイレノール、4 ~ 6 はアドビル、7 ~ 9 はバイエル、10 ~ 12 はジェネリックです。

これをコード化する最速の (人間の時間の観点から) 方法は何ですか?

カテゴリが 3 つ以下の場合はネストされた を使用する傾向がifelseあり、3 つを超える場合はデータ テーブルを入力してマージします。より良いアイデアはありますか? Stata には、この種のことに対してかなり気の利いたrecodeコマンドがありますが、データとコードの混合を少し促進しすぎていると思います。

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

r - 因子変数の観測数に基づくサブセット化

因子変数のレベルの観測数に基づいてどのようにサブセット化しますか? 1,000,000 行と 3000 近くのレベルを持つデータセットがあり、200 未満の観測値でレベルをサブセット化したいと考えています。

上記の要約からわかるように、obs の数が少ない要因があり、100 未満の要因を削除したいと考えています。

次のことを試しましたが、うまくいきませんでした。

0 投票する
4 に答える
39395 参照

r - 1 つ以上の他の列の値に基づいて因子を並べ替える

順序付け要因に関する多くの投稿を調べましたが、私の問題に一致するものは見つかりませんでした。残念ながら、R に関する私の知識はまだかなり初歩的なものです。

私が扱っている考古学的遺物のカタログのサブセットがあります。診断履歴アーティファクト タイプとサイト テストの場所をクロス集計しようとしています。ddply または tapply で十分に簡単です。

私の問題は、アーティファクトの種類 (要因) を平均診断日 (番号/年) で並べ替えたいことです。アルファベット順に取得し続けます。順序付けされた要素にする必要があることはわかっていますが、他の列の年の値で順序付けする方法がわかりません。

注文する必要があるもの:

因子 (IDENTIFY) は、日付 (MIDDATE) で並べ替える必要があります。私はそれを持っていると思った

しかし、警告が表示されます:

IDENTIFY には最大 130 の要素レベルがあり、多くは MIDDATE の値が同じであるため、IDENTIFY を MIDDATE と別の列 TYPENAME で並べ替える必要があります。

もう少し詳しく:

私はデータフレームを持っています。これは次のCatalogように分解されます(つまりstr(Catalog)):

IDENTIFY順序付けられた因子を作成し、並べ替えMIDDATE-> TYPENAME-> alpha byする必要がありIDENTIFYます。

私が実際に得ていないのは、複数の列からの注文を組み合わせて並べ替える方法です。

私はデータベースでこれを行うだけですが、実行しているものの多くは、あらゆる種類のクロス集計内の加重平均です (たとえば、場所ごとのアーティファクト クラスの地表面下の加重平均深さ)...

...Access では実行可能ですが、面倒で予測不可能です。R での管理ははるかに簡単でクリーンですが、結果のテーブルを手動で再ソートする必要はありません。

私が作成しようとしているのは、これらの線に沿った多くのものです。

...しかし、アルファベット順ではなく、論理的な (つまり、時系列/タイプ) 順序で並べ替える必要があります。

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

r - factor 列を quantmod/xts に追加します

ここで何が間違っていますか?

xts/quantmod オブジェクトの列を要因にしたいと考えています。なぜ機能しないのかわかりません。

ありがとう

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

r - いくつかの因子変数のマージ

これは、私が以前に持っていた質問のフォローアップです。R/RecodingNAsでの調査項目の組み合わせ

1つの変数に結合したい複数の因子変数を持つデータフレームがあります。

結合されたデータフレームを次のようにしたいと思います。

前の投稿の手法を使用すると、 within(df, x3 <- ifelse(is.na(x1), x2, x1))数値に対しては機能しますが、要因をうまく処理できないようです。

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

r - GAM 適合での因子水準の低下

GAM モデルを使用して、特定の時点での環境条件に基づいて種の存在量を予測しています。これを行うための一般化加算モデル (GAM) を作成し、そこから予測を行いました。ただし、モデル方程式には 1 つのカテゴリ変数 (堆積物タイプ = [1,2,3,4]) があります。方程式は問題なく機能しているように見えますが、フィッティングの結果は因子レベル「1」を切片に吸収しているようです。下記参照。

このモデルで何が起こっているのか説明できる人はいますか? よくわかりません。これは、mgcv パッケージを使用して R で実行されました。ありがとう!

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

r - 因子レベルに基づいて行を削除する

df「long」形式のdata.frameがあります。

質問

df$timeレベルごとにの一意の要素が存在しない行を削除するにはどうすればよいdf$siteですか?

この場合、タイムスタンプ33はサイトAにのみ存在し、サイトBとサイトCには存在しないdf[3,]ため、を削除します。df$time

必要な出力:

data.frameには、簡単に800k行と200k固有のタイムスタンプがあります。ループを使用したくありませんが、この場合のようにapply()、またはlapply()この場合のベクトル化された関数の使用方法がわかりません。

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

r - Rファクター値の変化

Rでデータ操作を行おうとしています。2つのデータフレームがあります。1つはトレーニングデータで、もう1つはテストデータです。すべてのデータはカテゴリであり、因子変数として保存されます。

データにいくつかのNAがあり、それらを「-1」に変換しようとしています。トレーニングデータに対して行うと、問題はありませんが、テストデータに対してはうまくいきません。

実行中のループ中に何かが値を変更しますが、何がわかりません。

これが前です:

ループは次のとおりです。

後は次のとおりです。

文字->数値変換で1つシフトアップするのを見てきましたが、特にデータフレーム/ループの1つだけで、なぜこれが発生しているのか理解できません。

助言がありますか?

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

r - Rの因数分解でifelseを使用する

種名のデータセットを再構築しています。ラテン語の名前の列と、利用可能な場合は慣用名の列があります。利用可能な場合は慣用名、それ以外の場合はラテン語の名前を示す3番目の列を作成したいと思います。慣用名とラテン語の名前はどちらもfactor-classにあります。私はifループで試しました:

それは私に正しいtrivnamesを与えますが、ラテン語の名前を提供するときだけNAを与えます。
そして、ifelseを使用すると、数字しか得られません。

いつものように、すべての助けに感謝します:)

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

r - R複数ファイル「分割してプロット」

私はこのように読んでいる別のcsvファイルを持っています:

次に達成したいのは、「ケース」という名前の列に従ってファイルを分割(係数を割り当てる)し、これらの「ケース」ごとに、棒グラフの残りの列のすべての平均値をプロットすることです。したがって、最後に、2つのファイル、50の因子、および26の列がある場合、26のバーを含む100のプロットが得られます。

したがって、ファイルごとに次のようなものが必要になります。

ただし、ファイルごとに、次に26バーの各要素に対して1つのプロット。

これが明確であることを願っています。

提案をありがとう。

たとえば、私が持っているファイルごとに

したがって、AAA要因は、、、、、BBBです。各ファイルについて、これらの係数の各列の平均をプロットする必要があります。CCCDDDEEE

サポートに感謝します。