私はこれを理解しているように見えず、誰かが私を助けてくれることを望んでいました。件名間に欠けている日付のためのバックナンバー
私は、数日間にわたってテストされた多数のサブジェクトを持つデータセットを持っています。しかし、一部の被験者は特定の日に試験され、他の被験者は試験されなかった。私は、テストされていないときに被験者に欠落した日を挿入する方法があるのか疑問に思っていました。興味のある変数に "NA"を読み込ませるだけでしたか?このようにして、各サブジェクトの日付が表されます。
データセットの例を示します。ここでは、4日のテスト日、1/1/2016-1/4/2016があります。その期間中に一部の被験者に日付が不足していることがわかります。
Subject <- c("Pat", "Pat", "Pat", "Pat", "Bob", "Bob", "Bob", "Bob", "Jeff", "Jeff", "Tom", "Tom", "Tom", "Tom", "Art", "Art", "Art", "Karl", "Karl", "Hal", "Hal", "Hal", "Hal")
variable.1 <- rnorm(n = Subject, mean = 10, sd = 5)
variable.2 <- rnorm(n = Subject, mean = 20, sd = 5)
Date <- c("1/1/2016", "1/2/2016", "1/3/2016", "1/4/2016","1/1/2016", "1/2/2016", "1/3/2016", "1/4/2016", "1/1/2016", "1/3/2016", "1/1/2016", "1/2/2016", "1/3/2016", "1/4/2016", "1/2/2016", "1/2/2016", "1/3/2016", "1/2/2016", "1/4/2016", "1/1/2016", "1/2/2016", "1/3/2016", "1/4/2016")
d <- data.frame(Subject, Date, variable.1, variable.2)
d$Date <- as.Date(d$Date, "%m/%d/%Y")
d
Subject Date variable.1 variable.2
1 Pat 2016-01-01 8.341378 22.51838
2 Pat 2016-01-02 13.654822 19.50904
3 Pat 2016-01-03 14.078425 28.36888
4 Pat 2016-01-04 10.023648 24.18750
5 Bob 2016-01-01 11.409657 30.06393
6 Bob 2016-01-02 6.169438 21.85819
7 Bob 2016-01-03 12.388085 14.60456
8 Bob 2016-01-04 15.311546 20.31606
9 Jeff 2016-01-01 16.502111 30.14965
10 Jeff 2016-01-03 9.941720 22.56740
11 Tom 2016-01-01 9.594301 24.72596
12 Tom 2016-01-02 17.798279 14.81699
13 Tom 2016-01-03 6.097222 24.92846
14 Tom 2016-01-04 8.434669 20.47638
15 Art 2016-01-02 1.687036 37.17307
16 Art 2016-01-02 5.855712 19.91173
17 Art 2016-01-03 8.295704 18.69689
18 Karl 2016-01-02 4.747927 21.72881
19 Karl 2016-01-04 0.676263 27.17804
20 Hal 2016-01-01 7.685603 23.51874
21 Hal 2016-01-02 16.965498 15.08288
22 Hal 2016-01-03 7.018053 20.09474
23 Hal 2016-01-04 11.111013 22.21986
テーマ日付variable.1 variable.2 1号2016年1月1日8.341378 22.51838 2号2016年1月2日13.654822 19.50904 3号2016から01 -03 14.078425 28.36888 4 Pat 2016-01-04 10.023648 24.18750 5 Bob 2016-01-01 11.409657 30.06393 6 Bob 2016-01-02 6.169438 21.85819 7 Bob 2016-01-03 12.388085 14.60456 8ボブ2016年1月4日15.311546 20.31606 9ジェフ2016年1月1日16.502111 30.14965 10ジェフ・2016年1月3日9.941720 22.56740 11トム2016年1月1日9.594301 24.72596 12トム2016年1月2日17.798279 14.81699 13トム2016年1月3日6.097222 24.92846 14トム2016年1月4日8.434669 20.47638 15アート2016年1月2日1.687036 37.17307 16アート2016年1月2日5.855712 19.91173 17アート2016年1月3日8.295704 18.69689 18カール2016年1月2日4.747927 21.72881 19カール2016年1月4日0.676263 27.17804 20ハル2016年1月1日7.685603 23.51874 21ハル2016年1月2日16.965498 15.08288 22ハル2016年1月3日7.018053 20.09474 23ハル・2016年1月4日11.111013 22.21986
パーフェクトになります。それは本当にうまくいく!ありがとう! – user3585829
私はtidyrライブラリをロードしますが、それは完全な関数を見つけることができないことを私に伝えますか? 私のデータセットにはもう1つの質問がありますが、私はそのサブジェクトの特定の記述子であるいくつかの列を持っています。 dplyrコードを使用すると、日付を追加するときに、それらの列にNAが挿入されます。その列をその個人の記述子でコード化する方法はありますか?それはかなり混乱し複雑になるかもしれないようだ。 – user3585829
@ user3585829私は 'tidyr_0.4.1.9000'を使用しています。ここでは、件名と日付のみを使用して完全な組み合わせを取得しているため、他のすべての列は当然NAで埋められます。 1つのオプションは、expand.gridを実行している間にDateまたはSubjectでカラムを 'ペーストする 'ことです。その後、それを分離します。 – akrun