2016-07-04 4 views
0

これは初めての質問ですので、フォーマットが最適でない場合は事前にお詫びしてください。Rのデータフレームからデータ行を選択する方法は?

私は2列に約6,000行のデータを持つデータフレームを持っており、個々の行(および複数の行をまとめて)を棒グラフに引き出したいと考えています。

私はデータフレームとしての私のファイルを読んで、ここではごく一部です:

gene  log2 
1 SMa0002 0.457418 
2 SMa0005 1.116950 
3 SMa0007 0.686749 
4 SMa0009 0.169450 
5 SMa0011 0.393365 
6 SMa0013 0.601940 

それでは、私が行うことができるようにしたいでしょうしても、x軸は遺伝子の数であるbarplotを持っています(SMaXXX、SMaXXX、SMaXXXなど)、y軸はlog2列です。値は(+)の値しか表示されませんが、( - )の値もあります。私はgplot2や他のプロッタでbarplotやgeom_barを使うかどうかについて本当の好みはありません。

私はデータフレームをプロットする方法を知っています。

ggplot(df, aes(x = gene, y = log2)) + geom_bar(stat = "identity") 

「マッチ」を使用して試してみましたが、その作業を行う方法を理解できませんでした。理想的にはコードは汎用性があるので、さまざまなプロットを生成するために異なるSMaXXXXコードを打ち込むことができます。

読んでいただきありがとうございます!

+1

データパラメータをサブセットにします。例: 'ggplot(df [as.numeric(substr(df $ gene、4、7))<10、]、aes(x = gene、y = log2)+ geom_bar stat = "identity") ' – alistaire

+1

簡単にプロット中のサブセットdf: 'ggplot(df [df $ gene =" SMaXXX "、]、...'。すべての別個の遺伝子をループする: 'lapply(unique(df $ gene)、function(x)gglot(df [df $ gene = x、] ...))' – Parfait

+0

ありがとう。 'ggplot(df [df $ gene =" SMa0002 "、" SMa0005 "]、aes(x = df $ gene、y = log2))+ geom_bar(stat = "ID") エラー:予期しない '=' in "ggplot(df [df $ gene =" – mdelow

答えて

-1

プロットするときにdata.frameをサブセット化する方法が必要なようです。前 1°)ggplot2

ggplot(df, aes(x = gene, y = log2)) + geom_bar(stat = "identity") + 
    scale_x_discrete(limits=subset.genes) 

2°)内側::

df=data.frame(gene=c("SMa0002","SMa0005","SMa0006","SMa0007","SMa0011","SMa0013"), 
       "log2"=runif(6), stringsAsFactors=F) 
subset.genes=sample(unique(df$gene), 4, replace=F) 

方法のカップル:あなたは、ベクトルあなたがプロットする必要がある遺伝子のsubset.genesを持っていると仮定し しましょう

df2 <- subset(df, gene %in% subset.genes) 
ggplot(df2, aes(x = gene, y = log2)) + geom_bar(stat = "identity") 
+0

"入力のおかげで、サブセット機能のアイデアを使用してしまいましたが、 ( "SMC03879"、 "SMc03878"、 "SMc00296"、 "SMc02770"、 "SMb21010"、 "SMC02779"、 "SMC02779"、 " "SMc00774") サブセット< - サブセット ')+ geom_bar(STATは= "アイデンティティ")(DF、%のキープにおける遺伝子%)' 'ggplot(サブセット、AES(X =遺伝子は、YはLOG2 =)を – mdelow

関連する問題