大規模なCSVファイルの形式で提供される遺伝子検査の結果をグラフ化しようとしています。 CSVの各x、y位置は数字スコアであり、その大部分はゼロです。私は非ゼロのデータだけに興味があります。また、各XおよびYタイトルの名前には、データをさらにサブセット化するために使用したい追加情報があります。私がしたいのは、データを溶かし、すべての行をゼロ値で取り除き、溶かしたデータを文字列で分割して、キャストに使用できる余分な列を与えます。しかし、溶かしたデータを文字列分割しようとすると問題に遭遇します。ここでは、コマンドといくつかのサンプルデータは以下のとおりです。解凍データセット
test <- read.csv("~/Documents/Bioinformatics/Python_Scripts/test.csv", as.is=TRUE)
smalltest <- test[1:10, 1:4]
small.melt <- melt(smalltest)
head(smalltest)
head(small.melt)
これは、以下のデータになり:私は、文字列分割しようとすると、しかし
head(small.test)
BlastCompare Triostin_A_2 Triostin_A_1 Myxochelin_2 Myxochelin_1
HA9WEQA05FUABT_497_TxR_K2 0 0 105 120
G9VUOJT08JA64I_426_TxC_N3 0 0 0 0
HA9WEQA06G2SFP_457_TxC_J4 0 0 0 0
HA9WEQA05GCP8Q_506_TxR_J7 150 150 0 0
HA9WEQA07HU6MW_421_TxR_P7 0 0 0 0
G9VUOJT05FST3W_399_TxR_J4 0 0 255 240
ヘッド(small.melt)
BlastCompare variable value
HA9WEQA05FUABT_497_TxR_K2Triostin_A_2 0
G9VUOJT08JA64I_426_TxC_N3 Triostin_A_2 0
HA9WEQA06G2SFP_457_TxC_J4 Triostin_A_2 0
HA9WEQA05GCP8Q_506_TxR_J7 Triostin_A_2 150
HA9WEQA07HU6MW_421_TxR_P7 Triostin_A_2 0
G9VUOJT05FST3W_399_TxR_J4 Triostin_A_2 0
$変数の列には、次の結果が表示されます。
small.melt$name <- sapply(strsplit(small.melt$variable, "_") , "[", 1)
Error in strsplit(small.melt$variable, "_") : non-character argument
理由について考えてみませんか?またはこれを回避する方法は?
感謝 ザックのCP
ありがとうございました。スクリプトの上部にオプション(stringsAsFactors = FALSE)があり、as.is = Trueを使用してcsvをインポートしましたが、要因はとにかく滑っていました。 – zach
私は、あなたが** smalltest **から** small.melt **に行ったとき、 'melt()'が列名を要素に変換したと確信しています。 –
重要な場合に備えて、列の順序を保持するために溶かします。ファクタを自動的に因数に変換するstringrパッケージも参照してください。そして、colsplit関数... – hadley