Эффективно сгенерируйте 4 столбца чисел по заданному шаблону - PullRequest
0 голосов
/ 24 января 2019

Я хотел бы создать кадр данных в R, состоящий из 4 столбцов, таких как

V1  V2  V3  V4
10  10   9   9
10  10   8   9
10  10   7   9
10  10   6   9
10  10   5   9  
 9   9   8   8
 9   9   7   8
 9   9   6   8
 9   9   5   8
 9   9   4   8
 9   9   3   8
 8   8   7   7

и т. Д., Пока v1 и v2 не станут на 8 (или некоторое целое число) меньше, чем при его запуске.Кроме того, v1 и v2 уменьшаются на 1 после того, как v3 на 5 меньше (или опять-таки, произвольное целое число) v1.

1 Ответ

0 голосов
/ 24 января 2019

вы можете попробовать tidyverse Сначала вы должны установить начальные условия для столбца V1

values = 10:8
n=5:7

Затем создайте остальные

library(tidyverse)
tibble(V1 = rep(values, n)) %>% 
  arrange(-V1) %>% 
  mutate(V2 = V1) %>% 
  group_by(V1) %>% 
  mutate(V3 =(max(V2)-1):(max(V2)-n()),
         V4 = max(V2)-1) %>% 
  ungroup()
# A tibble: 18 x 4
      V1    V2    V3    V4
   <int> <int> <int> <dbl>
 1    10    10     9     9
 2    10    10     8     9
 3    10    10     7     9
 4    10    10     6     9
 5    10    10     5     9
 6     9     9     8     8
 7     9     9     7     8
 8     9     9     6     8
 9     9     9     5     8
10     9     9     4     8
11     9     9     3     8
12     8     8     7     7
13     8     8     6     7
14     8     8     5     7
15     8     8     4     7
16     8     8     3     7
17     8     8     2     7
18     8     8     1     7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...