2017-07-27 26 views
-1

私は以下のようなデータフレームを持っています。私は変数ToF.Freq1_Hit1、ToF.Freq1_Hit2、ToF.Freq1_Hit3 ....をToF.Freq20_Hit5まで持ちます。 (だから20 Freqとそれぞれ5ヒット)。 data frame。データフレームはすでにmelt()で溶けています。複数変数(分割変数)のggplot

私は各周波数に対して平均とsdをプロットしようとしています。私は以下を試しましたが、実際にはうんざりしています。これを改善する方法に関するアイデア。

p4 <- ggplot(B_TOF_melt, aes(x = variable, y = value)) + geom_boxplot() + theme(axis.text.x = element_text(angle = 90)) +ggtitle("Geraete B TOF means")

ToF.Freq1として変数を分割するggplot内の方法があります:20とヒット別々。 ?

これをお寄せいただきありがとうございます。

+0

データのサンプルを追加できますか? – cmaher

+2

データの画像を投稿しないでください。 [再現可能なサンプルの作成方法](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を参照してください。 「本当にうんざりしている」ということは、正確にはどういう意味ですか?希望の出力を正確に何にしたいですか? – MrFlick

答えて

0

あなたはこれを行うことができます。

ggplot (...) + facet_grid(. ~ variable) 

Facet_gridは、あなたの「変数」フィールド内に格納され、それらのカテゴリの各フィールドでグラフを行います。

0

多分そのようなものでしょうか?

library(dplyr) 
library(ggplot2) 
data <-B_TOF_melt %>% group_by(variable) %>% summarize(mean=mean(value), sd=sd(value)) 

ggplot(data, aes(x = variable, y = mean)) + geom_boxplot() 
ggplot(data, aes(x = variable, y = sd)) + geom_boxplot() 

データのサンプルが役に立ちます。

+0

はい、この写真を追加しました。 – stochastiker

0
#generating key to mimic your data variable "Freq1_Hit1" 
hit<-rep(1:5,20) 
freq<-rep(1:20,each=5) 
freq_name=paste("freq",freq,sep="") 
hit_name=paste("hit",hit,sep="") 
key=paste(freq_name,"_",hit_name,sep="") #this is equal to your "variable" 
########################################################################### 
y<-unlist(strsplit(key,"_")) #split "variable into two string, convert into vector 
ind1<-seq(1,length(y),by=2) #create odd index that would be use to extract "freq" 
ind2<-seq(2,length(y),by=2) #creaet even index to extract "hit" 
freq2<-y[ind1] #using indexing to create freq2 variable 
hit2<-y[ind2] #useing indexing to create hit2 variable 
your.newdata<-data.frame(your.data, freq2, hit2) #combine data 
########################################################################### 
ggplot(your.newdata, aes(x=...,y=...) + 
geom_boxplot() + facet.grid(. ~ freq2) 
関連する問題