私は出力データを持っていますが、各行には遺伝子ごとに複数のアイソフォームがあります。アイソフォームはコンマで区切られています '、'。テーブルをRにインポートすると、データフレームは以下のようになります。R:コンマで区切られたデータフレームオブジェクト(df [1,1]など)の値をどのように区切るか?
Df:
gene isoform sample1_read_number p-value
A 'A1','A2','A3' 0:23,1:12,2:122 0.9,0.01,0.5
B 'B1','B2','B3' 0:3,1:45,2:76 0.43,0.001,0.12
C 'C1','C2','C3','C4' 0:5,1:56,2:166,3:7 0.004,0.002,0.23,0.12
D 'D1','D2' 0:43,1:100 0.1,0.0003
各遺伝子について、複数のアイソフォームが存在する。それぞれのアイソフォームについて、カンマ(0:23はA1の読み値が23であることを読み取る)とp値をコンマで区切って読み込みます(A1のp値は0.9、A2は0.01です)。ですから、すべてのオブジェクトのコンマ区切りですべてが順番に並んでいます。例えば
Iが呼ぶ、df[1,2]
結果は[1] 'A1','A2','A3''
又はdf[1,4]
結果が1つのオブジェクトとして[1] 0.9,0.01,0.5
です。私はdf [X、Y]の中でこれらの値を分離するためのRの作り方を理解できませんでした。
私がこれをやりたい理由は、このデータをp値または読み取り番号に基づいてフィルタリングしたいからです。それを可能にするには、最初に、各アイソフォームによってこのデータフレームを破ることができ、それを行うために、各スポットで値を区切る方法を見つける必要があります。
最終データフレームは、(ここでしか遺伝子AとBのために示す)そのようにする必要があります:
Df_I:
gene isoform sample1_read_number p-value
A A1 0:23 0.9
A A2 1:12 0.01
A A3 2:122 0.5
B B1 0:3 0.43
B B2 1:45 0.001
B B3 2:76 0.12
誰もがこの第二のデータフレームを作るために私のアイデアを与えることができますか? 何か助けていただければ幸いです!
乾杯!
から
cSplit
で行うことができます。 http://stackoverflow.com/q/5963269/4552295 – snoramあなたのデータは、データベースコンセプトの「正規化」ロジックに違反しています。最初に、意味のある各データを別々のセルに入力する必要があります。おそらく、sample1_read_numberおよびp-valueカラムの場合と同様に、isoformカラムのカラムをさらに定義する必要があります。古典的な正規化ルールに従っていれば、状態1から状態2への変換は簡単になります。 –
投稿したソリューションを試しましたか? – akrun