問題タブ [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.
r - 因子別および関数別のデータフレーム行のグループ化 - 完全な元のデータフレーム行を出力
私の最初の投稿で、私は R に非常に慣れていないので、これはロブかもしれません。私は解決策を探していたので、ついに助けを求めて投稿しました。明確にする必要があるか、詳細情報を提供する必要がある場合はお知らせください。
次のような大きなデータフレームがあります。
3 番目の列 (name2) でデータをグループ化し、max()
numReads の値を見つけ、関連する長さの値を維持するにはどうすればよいですか?
私の理想的な出力は、その因子レベルの最大値を含まない「Tdrd1」に関連付けられた2行(8124および8102値の行)を持つ上記のデータです。
tapply()
、、、by()
およびを試しaggregate()
ました。それらのどれも私に適切な出力を提供できません。
前もって感謝します。
予想よりもはるかに早く来たコメントの後に編集します。ありがとうございました!
理想的な結果の例は次のようになります
ここで2つの質問があるようです。1 つ目は、要因に基づいてデータをグループ化することです。2 つ目は、グループの関数を計算する方法ですが、選択した関数を計算した後に行全体を出力する方法です。
私は、aggregate() の後に merge() というアイデアが好きです。しかし、merge() 関数は、元の行のどの行から、共通因子レベルに基づいて「長さ」の値を取得するかをどのように知るのでしょうか?
データは、トランスクリプトの注釈に基づく遺伝子発現データのスナップショットです。関連する 'name2' について、最高の表現 (numReads に関して) のトランスクリプトを選択しようとしています。ダウンストリームの正規化のために長さのデータが必要です。
ROLOによる非常に役立つ提案を使用しようとした後、編集してください。再度、感謝します!
Chase と daroczig にも感謝します。
そのため、ddply() アプローチを使用してデータフレームを「name2」で分割し、読み取り数で降順で並べ替え、一番上の行を選択しようとしています。これにより、各グループの「name2」の最大値が効果的に得られ、すべての元の情報、特に長さが維持されます。
残念ながら、34,000 行を超えるデータフレームでこれを実行しようとしています。〜1000行、さらに〜5000行でも問題なく動作しますが、データセット全体を渡すとクラッシュします。
.parallel オプションを使用しようとしましたが、次のエラーで失敗します:
また、 .progressbar オプションを使用して操作を監視しようとしました。進行状況バーは 100% になりますが、操作は決して終了しません。
この操作を完全なデータセットに適用する方法についてのアイデアはありますか?
r - Rの係数によるカラーリングプロット
2つの変数の散布図を作成しており、因子変数でポイントに色を付けたいと思います。再現可能なコードは次のとおりです。
これはすべてうまくいっていますが、どの要素がどの色に着色されているかをどうやって知ることができますか?
r - Rで、lm回帰の因子の基本カテゴリがどのレベルであるかを選択するための最良の方法
を右側の変数として使用lm
して回帰を実行するとします。factor
因子のどのレベルが基本カテゴリ(多重共線性を回避するために除外されるもの)であるかを選択するための最良の方法は何ですか。私には多くの要因があるため、切片を除外することに興味がないことに注意してください。
また、data.frameに直接作用するものではなく、数式ベースのソリューションが必要ですが、そのための本当に優れたソリューションがあると思われる場合は、それも投稿してください。
私の解決策は次のとおりです。
除外されたカテゴリbylm
は、ファクターの最初のレベルであるため、で指定されたものがbase_cat()
最初のレベルになるようにレベルを並べ替え、残りを後に置きます。
他のアイデアはありますか?
r - 序数の中央値を見つける慣用的な方法
Rで序数(つまり、順序付けられた因子)の中央値を見つける必要があります.
これを行うためのメソッドが標準ライブラリに見つからなかったので、次の不格好な解決策を思いつきました。
Rでこれに対する慣用的な解決策は何ですか?
r - データフレームでの要因の要約
私のデータセットは以下の通りです: http://dl.dropbox.com/u/822467/Data.csv
私の状況はこれです。一連の質問 (全部で 27 個) がありますが、応答は本質的にバイナリです。0=いいえ、1=はい、999=不明。
私の最初の問題は、すべての列を因子に変換する方法です。を使用して1つずつ実行できますas.factors
が、永遠にかかります。
私の2番目の問題は、ヘッダーとして質問を、最初の列としてはいといいえを含む要約が必要であり、セルには各質問のはいといいえの頻度が入力されていることです。
% を持つ別のデータフレームも必要です。私ができるどんな助けにも大いに感謝します。Hmiscのパッケージの要約と要約などを調べましたが、役に立ちませんでした。
r - 因子とレベルでデータをグループ化するR
値を限られた数のビンにグループ化する度数分布表を作成しようとしています。
私がデータを持っていると言う
次のように、すべての空のセルが表示されるように度数分布表を作成できます。
>5
可能なすべての値の頻度を表示する代わりに、テーブルのレベルが次のようになるように値をビンに入れたいと思います0, 1, 2, 3, 4, 5, and >5
。
これどうやってするの?
arrays - 配列結果を元のデータ フレームの乗数として使用する
特定のデータ フレームについて、配列の値をデータ フレームの列に乗算したいと考えています。データ フレームは、名前、数値、および 2 つの係数値を含む行で構成されます。
このデータ フレームは、次のコマンドを使用して生成できます。
さらに、データ フレームから派生した行列があります (より複雑なケースでは、これは配列になります)。この行列には、特定のカテゴリ (m/f および A/B/C で特徴付けられる) に分類されるすべての契約の合計値が含まれます。
目標は、マトリックスの各カテゴリに割り当てられた対応する値を使用して DF$credit の値を乗算することです。たとえば、DF の最初の行の値 10 は 40 (m と A によって定義されるカテゴリ) で乗算されます。
結果は次のようになります。
可能であれば、R ベース パッケージを使用してこれを実行したいと考えていますが、適切に機能する有用なソリューションについてはオープンです。
r - 因子、レベル、および元の値
既存の行列のf
特定の要素 ( ) に変数を書き込みたいと思います。が要因であると仮定しましょう:index
m
f
使用する
m
ラベル ('1' と '2') を入れますが、元の値 ('0' と '3')には入れないため、望ましい結果が得られません。したがって、私は使用しました
代わりに、これはうまく機能します。
しかし、私の状況でf
は、常に要因ではなく、数値のようにすることもできます
私はそれをチェックする必要がありますか?
または、のタイプに関係なく、の「真の」値f
を matrixに入れる「普遍的な」方法はありますか?m
f
前もって感謝します!
PS: 背景は、によってトレーニングされた SVM モデルはwheref
の結果であり、分類モデル (その後は因子) または回帰モデル (その後は数値) のいずれかになります。私はモデルのタイプを知っていますが、上記の if 節は私にはやや不便に思えます。f <- predict(mymodel, Xnew)
model
model <- svm(Xtrain, Ytrain)
f
f
r - NAレベルによる因子のサブセット化
NAレベルのRに係数があります。
<NA>
その要因をレベルでサブセット化するにはどうすればよいですか? 私が試した両方の方法はうまくいきませんでした。
r - 因子にintベクトルを追加するにはどうすればよいですか?
私は次のような行列と呼ばれる行列を持っています:
idとintensityの2つのベクトルを取得します。
appendを使用してこれら2つのベクトルを一緒に追加したいと思います。
ただし、これを行うと、結果として次のようになります。
RはidVectorからclass=factorを作成しましたが、intVectorを追加しても、ラベルには追加されません。因子にintベクトルを追加するにはどうすればよいですか?
以下は再現可能なコードです。dput(head(matrix、4))を指定するのに問題があります。これは、非常に多くのIDをすべて取得するためです。代わりに、ベクトルのdput(head(matrix、4))を指定しました。