mothur からの希薄化出力を使用しています。これにより、基本的に、サンプリングされたシーケンスの数といくつかのサンプルの一意のシーケンスの数を含むデータセットが得られます。このデータを視覚化するためにggplot2を使用したいので、melt
を使用してwide
からlong
形式に変換する必要があります。
問題は、melt
のエラーのため、これを機能させる方法が見つからないことです。基本的には
エラー:データにID変数が見つかりません:1,3,6(...など)
元のデータセットのサイズのため、ここで共有することは実際的ではありませんが、次のコードを使用して同じ問題を再現できるはずです。
a<-seq(0,300,3)
b<-runif(length(a))
c<-runif(length(a))
d<-as.data.frame(cbind(a,b,c))
d$a<-as.factor(d$a)
melt(d,d$a)
まったく同じエラーが発生します:
エラー:データにID変数が見つかりません:0、3、6、9、(...)
私は自分が間違っていることを確認できません。私はubuntuサーバー12.04でR2.15.1を使用しています。両方の関数reshape::melt
およびreshape2::melt
は同じエラーになります。
あなたは使うべきです:
melt(d, id.vars="a")
a variable value
1 0 b 0.019199459
2 3 b 0.693699677
3 6 b 0.937592641
4 9 b 0.299259963
5 12 b 0.485403439
...
?melt.data.frame
の助けを借りて:
データ
溶けるデータフレームid.vars
id変数のベクトル。整数(変数の位置)または文字列(変数名)にすることができます空白の場合、測定されていないすべての変数を使用します
したがって、id.vars
引数は名前の文字ベクトルである必要があります。 「a」または数値ベクトル。 1
。このベクトルの長さは、IDとして必要な列の数と等しくなければなりません。
代わりに、データの列よりもはるかに多くの要素を含む因子を使用しました。