順序回帰モデルの結果をプロットするためのデータフレームがあります。データフレームを溶かしたいのですが、結果が正しくありません。列が少ない元のデータフレームからおもちゃのデータフレームを作成すると、正しい答えが得られます。ここで私が間違っていることは何ですか?添付のコードと出力を参照してください。
> fivenum(diff.mod[,11])
[1] -2.250835e-06 -2.558362e-07 -3.719817e-08 1.670986e-07 2.644583e-06
> fivenum(diff.mod[,12])
[1] -0.237450499 -0.021690233 0.001226833 0.019041952 0.277317128
これは、溶融データフレーム (diff.mod.graf) で再現する必要があります。
> diff.mod.graf<-melt(diff.mod,measure.vars=c(11,12))
> by(data=diff.mod.graf,INDICES=diff.mod.graf$variable,
function(x) fivenum(x$value))
diff.mod.graf$variable: onp
[1] 0.0002978989 0.0675580767 0.1793394876 0.6058061575 0.9984103955
----------------------------------------------------------------
diff.mod.graf$variable: op
[1] 0.0002978989 0.0675580767 0.1793394876 0.6058061575 0.9984103955
何らかの理由で、両方の変数 (onp と on) で同じ値が発生します。しかし、データフレーム内の変数を減らして同じことを行うと、次のようになります。
> df<-diff.mod[,c(1,2,7,11,12)]
> df2<-melt(df,measure.vars=c(4,5))
#Identical to variables 11 and 12 above
> by(data=df2,INDICES=df2$variable,function(x) fivenum(x$value))
df2$variable: onp
[1] -2.250835e-06 -2.558362e-07 -3.719817e-08 1.670986e-07 2.644583e-06
----------------------------------------------------------------------
df2$variable: op
[1] -0.237450499 -0.021690233 0.001226833 0.019041952 0.277317128
2番目のコードビットのコードの何が問題なのですか??
編集。@Dwin リクエスト。また、数字の代わりに正式な列名を使用してみましたが、うまくいきませんでした。
> str(diff.mod)
'data.frame': 73200 obs. of 12 variables:
$ ao : num 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 ...
$ as : Factor w/ 5 levels "Bo 1","Bo 2",..: 1 1 1 1 1 1 1 1 1 1 ...
$ age : num 0 0 0 0 0 0 0 0 0 0 ...
$ sex : Factor w/ 2 levels "Female","Male": 1 1 1 1 1 1 1 1 1 1 ...
$ Sx : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
$ Hy : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
$ Yu : Factor w/ 3 levels "fit.[ 13, 29)",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value : num 0.0461 0.0477 0.0492 0.0509 0.0526 ...
$ non.prop : num 0.0461 0.0477 0.0492 0.0509 0.0526 ...
$ prop : num 0.0466 0.0479 0.0493 0.0506 0.0521 ...
$ onp : num 7.84e-08 7.37e-08 6.87e-08 6.32e-08 5.73e-08 ...
$ op : num -4.86e-04 -2.60e-04 -2.09e-05 2.32e-04 5.00e-04 ...
編集 - @Baptiste
> diff.mod.graf<-melt(diff.mod,id.vars=c(1:10),measure.vars=c("onp","op"))
> by(data=diff.mod.graf,INDICES=diff.mod.graf$variable,function(x) fivenum(x$value))
diff.mod.graf$variable: onp
[1] 0.0002978989 0.0675580767 0.1793394876 0.6058061575 0.9984103955
------------------------------------------------------------------------------------------------------------------------------------------------------------
diff.mod.graf$variable: op
[1] 0.0002978989 0.0675580767 0.1793394876 0.6058061575 0.9984103955
編集-@バプティスト
> diff.mod.graf<-melt(diff.mod,id.vars=c(1:10),measure.vars=c("onp","op"))
> by(data=diff.mod.graf,INDICES=diff.mod.graf$variable,function(x) fivenum(x$value))
diff.mod.graf$variable: onp
[1] -2.250835e-06 -2.558362e-07 -3.719817e-08 1.670986e-07 2.644583e-06
------------------------------------------------------------------------------------------------------------------------------------------------------------
diff.mod.graf$variable: op
[1] -0.237450499 -0.021690233 0.001226833 0.019041952 0.277317128
編集-ソリューション@Baptiste
>names(diff.mod)[8]<-"J"
> diff.mod.graf<-melt(diff.mod,id.vars=c(1:10),measure.vars=c("onp","op"))
> by(data=diff.mod.graf,INDICES=diff.mod.graf$variable,function(x) fivenum(x$value))
diff.mod.graf$variable: onp
[1] -2.250835e-06 -2.558362e-07 -3.719817e-08 1.670986e-07 2.644583e-06
------------------------------------------------------------------------------------
diff.mod.graf$variable: op
[1] -0.237450499 -0.021690233 0.001226833 0.019041952 0.277317128