Выберите столбец по значению и следующие 3 столбца - PullRequest
0 голосов
/ 22 мая 2018

У меня есть data.table вот так:

   Model                Variable   Coefficient standardized coefficient Model                Variable   Coefficient standardized coefficient Model
1:     0               Intercept  7.136994e+12              0.919481694   0.1               Intercept  2.201799e+12              0.918641093   0.2
2:     0 Comp_BK_Tot_Tot050500_i -1.177355e+13             -0.005086289   0.1 Comp_BK_Tot_Tot050500_i -3.632202e+12             -0.001569146   0.2
                  Variable   Coefficient standardized coefficient Model                Variable   Coefficient standardized coefficient
1:               Intercept  2.244410e+12              0.918648351   0.3               Intercept  2.258975e+12              0.918650832
2: Comp_BK_Tot_Tot050500_i -3.702495e+12             -0.001599514   0.3 Comp_BK_Tot_Tot050500_i -3.726523e+12             -0.001609894

Вот моя проблема, у меня есть переменная, сохраненная как "0.3" как new_num.Как мне написать и выражение, где, если имя столбца «Модель» содержит = new_num, затем выбрать этот столбец и следующие 3 столбца справа от него?

Так, например, я хочу, чтобы мой вывод в этом случае был:

Model                   Variable     Coefficient     standardized coefficient
  0.3                  Intercept    2.258975e+12                  0.918650832 
  0.3    Comp_BK_Tot_Tot050500_i   -3.726523e+12                 -0.001609894  

1 Ответ

0 голосов
/ 22 мая 2018

Мы можем сначала подставить столбцы с индексом ('i1'), а затем присвоить 'Model' значения 'new_num'

i1 <- match("Model", names(dt))
dt1 <- dt[, i1:(i1+3), with = FALSE][, Model := new_num][]
...