Вы можете использовать combn
, чтобы получить все пары номеров столбцов, а затем применить к полученной матрице, чтобы проверить, равны ли все элементы.
pairs <- t(combn(seq_len(ncol(dat)), 2))
same <- apply(pairs, 1, function(x) all(Reduce(`==`, dat[,x])))
pairs[same,]
# [1] 1 3
Или проверить корреляции (будет также включать линейные комбинации)
cor1 <- data.frame(which(cor(dat) == 1, arr.ind = T))
cor1[cor1$row > cor1$col,]
# row col
# c 3 1