2017-05-08 23 views
1

私は2つのデータフレームを持っています。それらの長さは異なります。異なる可変長カラムを持つボックスプロットb/w 2つのデータフレーム

df1: 
Samples Number 
A9GS  73 
A9GY  142 
ASNO  327 
A5UE  131 

df2: 
Samples Number 
AUFS  107 
A9JY  42 
AKNO  32 
A9FE  111 
A9GY  12 
ADNO  37 
A2KE  451 

私はこれについてwilcoxonテストを行っています。

wilcox.test(df1$Number,df2$Number, correct=FALSE) 

これは私にp値を与えました。これを視覚化するために、私はボックスプロット関数を使用し、以下のようなエラーを出しました。

boxplot(df1$Number ~ df2$Number, xlim=c(0.5,3)) 
Error in model.frame.default(formula = df1$Number ~ df2$Number) : 
    variable lengths differ (found for 'df2$Number') 

私の間違いを訂正し、プロット上のp値を取得する方法を教えてください。

答えて

1

データフレームと1-1のペアがある場合(通常はRHSが数値ではなくグループ変数である場合)、式は使用できません。数式1ではなくリスト配信システムを使用する必要があります。私は実際の例を構築できるかどうかを見ていきます。

プロットがで達成される:

png(); boxplot(list(df1_N=df1$Number, df2_N = df2$Number)); dev.off() 

enter image description here

そして注釈は、一般的にbquoteで構築?plotmath引数を受け入れtext機能で行うことができます。

text(1.5, 400, 
    label=bquote( 
     p~value == .(wilcox.test(df1$Number,df2$Number, correct=FALSE)$p.value) 
    )) 

あなただけ一緒に2つのデータフレームを入れ、その後、プロット上にp値を貼り付け.( ) -function

+0

エラー(df1_N = DF1 $番号、df2_N = DF2の$番号、正しい= FA LSE): 引数 "x"がありません。既定値はありません – raju

+0

2つの引数をリストに入れるのを忘れています。 –

+0

出来た。ありがとうございます – raju

0

内の表現の周りにp値を使用round(...)を丸めるしたい場合:

df1 <- data.frame(samples = c('A9GS', 'A9GY', 'ASNO', 'ASUE'), 
         number = c(73, 142, 327, 131)) 
df2 <- data.frame(samples=c('AUFS', 'A9JY', 'AKNO', 'A9FE', 'A9GY', 'ADNO', 
           'A2KE'), 
         number = c(107, 42, 32, 111, 12, 37, 451)) 

df1$group <- 'df1' 
df2$group <- 'df2' 

df <- rbind(df1, df2) 

m<-wilcox.test(df1$number,df2$number, correct=FALSE) 

library(ggplot2) 
jpeg('path/to/where/you/want/the/file/saved/picture.jpeg') 
ggplot(df, aes(x=group, y=number, group=group)) + 
    geom_boxplot() + 
    annotate('text', label=paste('p =', round(m$p.value, 2)), x=.5, y=400) 
dev.off() 

利回り:wilcox.test.defaultで enter image description here

+0

ありがとうございます。私のdf1は70サンプルあり、df2は258です。どうすればこのような巨大なプロットを保存できますか? – raju

+0

また、ボックスプロットのx軸のデータフレームdf1またはdf2を確認したい – raju

+0

画像を保存し、x軸にデータフレーム名を書き込むコードを含めるように回答を編集しました。 – triddle

関連する問題