1

相関分析を行うために、長い形式のデータから広い形式のデータに移行しようとしています。

ただし、dcast は最初のサブジェクトの行を作成するようで、作成された空のセルを NA で埋める 2 つの行にまたがってデータを分割します。

英数字のサブジェクト コードを使用していたときに、最初の 2 つのサブジェクトが重複していました。数値のサブジェクト番号を使用したところ、最初のサブジェクトのみが重複していました。

長い形式のデータ フレームの最初の数行:

       Subject Age Gender R_PTA L_PTA BE_PTA Avg_PTA L_Aided_SII R_Aided_SII Best_Aided_SII L_Unaided_SII R_Unaided_SII Best_Unaided_SII L_SII_Diff R_SII_Diff
1       1  74      M 48.33 53.33  48.33   50.83          31          42             42            14            25               25         17         17
2       2  77      F 36.67 36.67  36.67   36.67          73          67             73            44            43               44         29         24
3       3  72      F 45.00 41.67  41.67   43.33          42          34             42            35            28               35          7          6
4       4  66      F 36.67 36.67  36.67   36.67          66          76             76            44            44               44         22         32
5       5  38      F 41.67 46.67  41.67   44.17          48          58             58            23            29               29         25         29
6       6  65      M 35.00 43.33  35.00   39.17          46          60             60            32            46               46         14         14
  Best_SII_Diff       rSII MoCA_Vis MoCA_Nam MoCA_Attn MoCA_Lang MoCA_Abst MoCA_Del_Rec MoCA_Ori MoCA_Tot   PNT Semantic   Aided PNT_Prop PNT_Prop_Mod
1            17 -0.4231157        5        3         6         2         2            2        6       26 0.971    0.029 Unaided    0.971        0.983
2            29  1.2739255        3        3         5         0         2            2        5       20 0.954    0.046 Unaided    0.960        0.966
3             7 -1.2777889        4        2         5         2         2            5        6       26 0.966    0.034 Unaided    0.960        0.982
4            32  1.5959701        5        3         6         3         2            5        6       30 0.983    0.017 Unaided    0.983        0.994
5            29  0.9492167        4        2         6         3         1            3        6       25 0.983    0.017 Unaided    0.983        0.994
6            14 -0.2936395        4        2         6         2         2            2        6       24 0.989    0.011 Unaided    0.989        0.994
  PNT_S_Wt PNT_P_Wt
1    0.046    0.041
2    0.073    0.033
3    0.045    0.074
4    0.049    0.057
5    0.049    0.057
6    0.049    0.057

varlist の作成:

varlist <- list(colnames(subset(PNT_Data_All2, ,c(18:27,29:33))))

私の dcast コマンド:

Data_Wide <- dcast(as.data.table(PNT_Data_All2),Subject + Age + Gender + R_PTA + L_PTA + BE_PTA + Avg_PTA + L_Aided_SII + R_Aided_SII + Best_Aided_SII + L_Unaided_SII + R_Unaided_SII + Best_Unaided_SII + L_SII_Diff + R_SII_Diff + Best_SII_Diff + rSII ~ Aided, value.var=varlist)

結果のワイド フォーマットの最初の数行:

  Subject Age Gender R_PTA L_PTA BE_PTA Avg_PTA L_Aided_SII R_Aided_SII Best_Aided_SII L_Unaided_SII R_Unaided_SII Best_Unaided_SII L_SII_Diff R_SII_Diff
1:       1  74      M 48.33 53.33  48.33   50.83          31          42             42            14            25               25         17         17
2:       1  74      M 48.33 53.33  48.33   50.83          31          42             42            14            25               25         17         17
3:       2  77      F 36.67 36.67  36.67   36.67          73          67             73            44            43               44         29         24
4:       3  72      F 45.00 41.67  41.67   43.33          42          34             42            35            28               35          7          6
5:       4  66      F 36.67 36.67  36.67   36.67          66          76             76            44            44               44         22         32
6:       5  38      F 41.67 46.67  41.67   44.17          48          58             58            23            29               29         25         29

件名 1 には 2 つのエントリがあります。他のすべての科目は正しいようです

これは私のコマンド/引数に問題がありますか? dcast のバグ?

編集 1: 削除のプロセスを通じて、「rSII」変数を含めた場合にのみ余分なエントリが表示されます。これは、スクリプトの前のステップから計算される変数です。

PNT_Data_All$rSII <- stdres(lm(Best_Aided_SII ~ Best_Unaided_SII, data=PNT_Data_All))

PNT_Data_All <- PNT_Data_All[, colnames(PNT_Data_All)[c(1:17,34,18:33)]]

一部の被験者の dcast を台無しにする計算変数について何かありますか?

2 を編集して回避策を追加します。

計算された変数を小数点以下3桁に丸めることになり、問題が解決しました。重複することなく、すべてが正しくキャストされるようになりました。

PNT_Data_All$rSII <- format(round(stdres(lm(Best_Aided_SII ~ Best_Unaided_SII, data=PNT_Data_All)),3),nsmall=3)
4

0 に答える 0