Saya memiliki bingkai data dengan satu variabel yang misalnya ID daerah. Saya memiliki 401 ID Kabupaten, jadi saya memiliki 401 baris.

'data.frame':   401 obs. of  1 variable:
 $ KRS: num  1001 1002 1003 1004 1051 ...

head(fs)
   KRS
1 1001
2 1002
3 1003
4 1004
5 1051
6 1053

Saya ingin menambahkan Variabel, yang mewakili "kategori" lain dengan 6 level untuk memperluas bingkai data, jadi saya mendapatkan alih-alih 401 baris (pengamatan) 401*6=2406 baris (pengamatan).

Seharusnya terlihat seperti ini:

   KRS  V2
1  1001  1
2  1001  2
3  1001  3
4  1001  4
5  1001  5
6  1001  6
7  1002  1
8  1002  2
9  1002  3
10 1002  4
11 1002  5
12 1002  6

and so on....

Saya harap Anda mengerti apa yang saya maksud dan saya harap Anda dapat membantu saya.

Terima kasih!

Salam Hormat

Ari

0
AriWhatElse 29 Desember 2020, 16:40

3 jawaban

Jawaban Terbaik

Anda dapat menggunakan tidyr::expand_grid()

library(tidyr)

expand_grid(KRS = fs$KRS,V2 = 1:6)

tidyr::expand():

fs %>% 
  tidyr::expand(KRS, V2 = 1:6)

Atau bahkan expand.grid() dari basis R

expand.grid(fs$KRS, 1:6)
3
jmpivette 29 Desember 2020, 14:05

Apakah ini berfungsi:

library(dplyr)
library(tidyr)
df %>% uncount(weights = 6) %>% group_by(KRS) %>% mutate(V2 = row_number())
# A tibble: 36 x 2
# Groups:   KRS [6]
     KRS    V2
   <dbl> <int>
 1  1001     1
 2  1001     2
 3  1001     3
 4  1001     4
 5  1001     5
 6  1001     6
 7  1002     1
 8  1002     2
 9  1002     3
10  1002     4
# ... with 26 more rows

Data yang digunakan:

df
   KRS
1 1001
2 1002
3 1003
4 1004
5 1051
6 1053
1
Karthik S 29 Desember 2020, 13:56

Anda dapat menggunakan rep:

fd <- data.frame(
  KRS = rep(fd$KRS, each = 6),
  V2 = rep(1:6, length(fd$KRS))
)

fd
# KRS V2
# 1  1001  1
# 2  1001  2
# 3  1001  3
# 4  1001  4
# 5  1001  5
# 6  1001  6
# 7  1002  1
# 8  1002  2
# 9  1002  3
# 10 1002  4
# 11 1002  5
# 12 1002  6
# 13 1003  1
# 14 1003  2
# 15 1003  3
# 16 1003  4
# 17 1003  5
# 18 1003  6
# 19 1004  1
# 20 1004  2
# 21 1004  3
# 22 1004  4
# 23 1004  5
# 24 1004  6
# 25 1050  1
# 26 1050  2
# 27 1050  3
# 28 1050  4
# 29 1050  5
# 30 1050  6
0
holzben 29 Desember 2020, 14:54