問題タブ [rowname]
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 の data.frame からの列の選択 (RNA-seq データからのカバレッジ プロット)
私はバイオインフォマティクスに比較的慣れていないので、RNA-seq の結果からカバレッジ プロットを生成する必要があります。
ゲノム アラインメント RNA-seq 結果 (トップハットアラインメント) から、 bedtoolsのカバレッジベッドコマンドを使用して、シーケンスの読み取り元のゲノム位置を示すベッド (または txt) ファイルを生成することができました。この場合、実験目的でエクソン領域のみを選択しました。
結果ファイル (~4GB サイズの巨大なテーブル) は、data.table によって提供される fread 関数を「data.frame」として使用して、R にインポートされました。
個々の遺伝子のカバレッジ プロットを生成するために、列 8 (V8) の例として「Actb」と呼ばれる遺伝子を検索します。これがデータの編成方法です。
Actb.coverage <-["Actb"]
1: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 1 0
2: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 2 0
3: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 3 0
4: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 4 0
--
1879: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 70 0
1880: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 71 0
1881: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 72 0
各行は 1 つのヌクレオチドを表します
したがって、この単純化された表では、0 番目の列 (ラベルなし) は合計 1881 行であることを示しています (つまり、Actb 遺伝子は 1881 個のエクソン ヌクレオチドで構成されています)。
次の V8 列は遺伝子名、V1~V3 は染色体 ID、V5 および V6 列の各機能の開始および終了部位です (つまり、utr3、0 は最初の 3'UTR エクソンを意味します)。
V7 は (-) であり、遺伝子の方向を示すのはゲノムの 3' --> 5' 末端です。
V11 列には、指定されたヌクレオチドのカバレッジベッドで生成された読み取りカウント情報 (これが必要です) が含まれています。ここに示されている最初の 4 つのヌクレオチドと最後の 3 つのヌクレオチドはカバーされていないため、この表では 0 になっています。
質問1
したがって、単純なカバレッジ プロットを生成するには、x 軸に 1 から 1881 までの数値をプロットし、y 軸は V11 に対応する値を次のようにプロットします。
plot(Actb.coverage[,V0], Actb.coverage[,V11]) しかし、ご覧のとおり、最初の列 V0 の列名がないため、別の解決策が必要です
質問2
この方法がうまくいったら、さらにオプションを追加したいと思います
列 5 (V5) と列 6 (V6) に基づいて x 軸を細分化することは可能ですか? たとえば、長さの 1881 ヌクレオチドは、
utr3(V5)-0(V6)、
utr3-1
cds-0
cds-1
cds-2にサブ分割され
ます。
.
.
utr5-0
utr5-1
utr5-2
utr5-3
utr5-4
utr5-5
各フィーチャの長さは、V3 の値から V2 列の値までの単純な減算によって決定されます。
結果のプロットは質問 1 のプロットと同じである必要がありますが、これらのサブ分割された機能を x 軸と共に追加したいと考えています。
可能だと思いますが、これを達成する方法がわかりません。私はあなたの助けを求めます
どうもありがとうございました
gdy
r - データフレームの「サブセット」と「[」はわずかに異なる結果になります。なぜですか?
identical()
以下の最後の 2 行のコード (呼び出し)で異なる結果が得られる理由を誰かに説明してもらえますか? これら 2 つのオブジェクトは同一のオブジェクトのように見えますが、適用関数で使用すると、いくつかの問題が発生します。
r - ペアになった単語の配列をテストして、ペアが共有する文字を見つけます
私がやりたいことは、ループの代わりに apply を使用して、文字列の 2 つの配列を行ごとに比較することです。たとえば、x.str の行 1 と y.str の行 1 を比較します。
x.str
y.str
ループとして書く場合:
出力すると:
ただし、実数配列の次元は約になります。
したがって、代わりにループよりもはるかに高速な apply を使用したいと考えました。私はこのサイトやその他のサイトをすべて見て、さまざまな方法を試しましたが、適用内で処理されている現在の行を選択して関数で使用する方法がわかりません。同様の投稿では、次の使用が提案されています。
私はそれらを次のように使用しました:
しかし、私が取得し続けるのはエラーだけです。私が試してみました:
出力として NULL を与えるだけです。行名、NROW、名前などでも同様のことが起こります。おそらく非常に単純な答えがあると思いますが、それを見つけることができないようです。
任意の提案/ヘルプをいただければ幸いです。
r - 行名が重複しているデータフレームから特定の行を削除する方法
IDが同一であるが日付が最も古い特定の行を削除する方法が見つかりません。この例では、ID は行 2 と同じですが日付が古いため、行 1 を削除します。
簡単な例:
ありがとうジェニー