Получить мин из двух столбцов

Я хочу получить минимум два столбца и создать столбец в том же файле data.frame. Как я могу это сделать?

Например:

ID    Parm1   Parm2
 1      1       2
 2      0       1
 3      2       1
 4      1       0
 5      2       0

Требуемый вывод:

ID    Parm1    Parm2     Min
 1      1        2        1
 2      0        1        0
 3      2        1        1
 4      1        0        0
 5      2        0        0

Большое спасибо за помощь.

Ответ 1

Вам нужен параллельный минимум, реализованный в функции pmin(). Например, используя ваши данные:

dat <- read.table(text = "ID    Parm1   Parm2
 1      1       2
 2      0       1
 3      2       1
 4      1       0
 5      2       0", header = TRUE)

вы можете использовать transform(), чтобы добавить столбец min в качестве вывода pmin(Parm1, Parm2) и получить доступ к элементам dat без индексации:

dat <- transform(dat, min = pmin(Parm1, Parm2))

Это дает:

> dat
  ID Parm1 Parm2 min
1  1     1     2   1
2  2     0     1   0
3  3     2     1   1
4  4     1     0   0
5  5     2     0   0