Advertisement
hohiyan

Untitled

Feb 14th, 2023 (edited)
1,272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.79 KB | None | 0 0
  1. library(tidyverse)
  2.  
  3. demo <- tibble(variable=1:16,
  4.                id1=rnorm(16),
  5.                id2=rnorm(16),
  6.                id3=rnorm(16),
  7.                id4=rnorm(16))
  8.  
  9. # 每 N 列觀察值為一組資料
  10. # 假設 N = 4
  11.  
  12. n = 4
  13.  
  14. (demo <- demo %>%
  15.   mutate(group = ceiling(row_number()/n)) |>
  16.   group_split(group))
  17.  
  18. #> [[1]]
  19. #> # A tibble: 4 × 6
  20. #>   variable     id1    id2    id3    id4 group
  21. #>      <int>   <dbl>  <dbl>  <dbl>  <dbl> <dbl>
  22. #> 1        1 -0.0928  0.701  0.483  0.745     1
  23. #> 2        2  0.821   0.476 -0.627  0.946     1
  24. #> 3        3 -0.269  -0.208  0.991  0.553     1
  25. #> 4        4  0.690  -0.651  0.469 -0.781     1
  26. #>
  27. #> [[2]]
  28. #> # A tibble: 4 × 6
  29. #>   variable    id1     id2    id3    id4 group
  30. #>      <int>  <dbl>   <dbl>  <dbl>  <dbl> <dbl>
  31. #> 1        5 -1.47  -1.59    0.667 -0.378     2
  32. #> 2        6 -0.139 -1.38    0.447 -0.343     2
  33. #> 3        7 -0.532 -0.770  -0.594 -1.91      2
  34. #> 4        8 -0.895 -0.0286  2.34  -0.115     2
  35. #>
  36. #> [[3]]
  37. #> # A tibble: 4 × 6
  38. #>   variable    id1    id2    id3    id4 group
  39. #>      <int>  <dbl>  <dbl>  <dbl>  <dbl> <dbl>
  40. #> 1        9 -0.299  0.487 -1.23  -1.41      3
  41. #> 2       10 -0.114 -0.478  0.895 -1.10      3
  42. #> 3       11 -0.190  0.463 -0.339 -0.294     3
  43. #> 4       12 -0.596 -1.88  -0.393  1.00      3
  44. #>
  45. #> [[4]]
  46. #> # A tibble: 4 × 6
  47. #>   variable    id1    id2     id3    id4 group
  48. #>      <int>  <dbl>  <dbl>   <dbl>  <dbl> <dbl>
  49. #> 1       13 -0.370 -1.00  -0.0353 -1.58      4
  50. #> 2       14  0.607  0.177  0.252  -0.756     4
  51. #> 3       15 -1.88  -1.25  -0.973   1.10      4
  52. #> 4       16  1.17  -1.27   0.868  -1.30      4
  53.  
  54.  
  55. # 儲存為 length(demo) 個資料檔並刪除 group column
  56. for (i in 1:length(demo)) {
  57.   write_csv(select(demo[[i]], -group), paste0(i, ".csv"))
  58. }
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement