3
データフレームに欠損値を入力しようとしていますが、すべての変数の組み合わせを望んでいません - 3つの変数のグループ分け:coursecode、年、週。グループ内のdplyr completeを使用してdata.frameに欠損値を記入
私はtidyrライブラリ内)(完全に見てきたが、私はそれを動作させることはできません、でもUsing tidyr::complete with group_byとhttps://blog.rstudio.org/2015/09/13/tidyr-0-3-0/
を見た後、私は別の年の特定の週のデータを収集するオブザーバーを持っていますコース。たとえば、1〜10週間の間、大きなデータセットにデータが収集されることがありますが、特定のコースと年度の組み合わせで発生した不足している週だけが気になります。もちろんで 例えば、
- 年で、データは週1、3、及び4で収集しました。
- 2週間2が分かります。
- 私はコースBで他の誰かが、2000年に5週のデータを収集していても、5が欠落しているその週気にしない
例:
library(dplyr)
library(tidyr)
df <- data.frame(coursecode = rep(c("A", "B"), each = 6),
year = rep(c(2000, 2000, 2000, 2001, 2001, 2001), 2),
week = c(1, 3, 4, 1, 2, 3, 2, 3, 5, 3, 4, 5),
values = c(1:12),
othervalues = c(12:23),
region = "Big")
df
coursecode year week values othervalues region
1 A 2000 1 1 12 Big
2 A 2000 3 2 13 Big
3 A 2000 4 3 14 Big
4 A 2001 1 4 15 Big
5 A 2001 2 5 16 Big
6 A 2001 3 6 17 Big
7 B 2000 2 7 18 Big
8 B 2000 3 8 19 Big
9 B 2000 5 9 20 Big
10 B 2001 3 10 21 Big
11 B 2001 4 11 22 Big
12 B 2001 5 12 23 Big
完全にしてみてください:を(ではない私の所望の出力)
df %>%
complete(coursecode, year, region, nesting(week))
# A tibble: 20 x 6
coursecode year region week values othervalues
<fctr> <dbl> <fctr> <dbl> <int> <int>
1 A 2000 Big 1 1 12
2 A 2000 Big 2 NA NA
3 A 2000 Big 3 2 13
4 A 2000 Big 4 3 14
5 A 2000 Big 5 NA NA
6 A 2001 Big 1 4 15
7 A 2001 Big 2 5 16
8 A 2001 Big 3 6 17
9 A 2001 Big 4 NA NA
10 A 2001 Big 5 NA NA
11 B 2000 Big 1 NA NA
12 B 2000 Big 2 7 18
13 B 2000 Big 3 8 19
14 B 2000 Big 4 NA NA
15 B 2000 Big 5 9 20
16 B 2001 Big 1 NA NA
17 B 2001 Big 2 NA NA
18 B 2001 Big 3 10 21
19 B 2001 Big 4 11 22
20 B 2001 Big 5 12 23
所望の出力
coursecode year region week values othervalues
<fctr> <dbl> <fctr> <dbl> <int> <int>
1 A 2000 Big 1 1 12
2 A 2000 Big 2 NA NA
3 A 2000 Big 3 2 13
4 A 2000 Big 4 3 14
5 A 2001 Big 1 4 15
6 A 2001 Big 2 5 16
7 A 2001 Big 3 6 17
8 B 2000 Big 2 7 18
9 B 2000 Big 3 8 19
10 B 2000 Big 4 NA NA
11 B 2000 Big 5 9 20
12 B 2001 Big 3 10 21
13 B 2001 Big 4 11 22
14 B 2001 Big 5 12 23
で試すことができます。ありがとうございました!それは奇妙なことですが - dplyrはあなたが書いたコードのプログレスバーを持っていました。今週の初めに私が書いたコードでは、http://stackoverflow.com/questions/42725428/how-to-add-progress-bar-inside -dplyr-chain-in-r ...なぜか不思議です。 – Nova
@JakeKaupp OPは 'complete'で試してみたが動作しなかった – akrun