大きな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
ただし、$ variable列で文字列分割を実行しようとすると、次の結果が得られます。
small.melt$name <- sapply(strsplit(small.melt$variable, "_") , "[", 1)
Error in strsplit(small.melt$variable, "_") : non-character argument
理由について何か考えはありますか?またはこれを回避する方法は?
ありがとうzachcp