Сохранять имена столбцов после вызова функции combn

После просмотра другого сообщения об именах столбцов и функции combn здесь рассмотрите тот же data.frame. Делаем гребенку со всеми 2-мя возможными векторами:

foo <- data.frame(x=1:5,y=4:8,z=10:14, w=8:4)
all_comb <- combn(foo,2)

Есть ли способ сохранить имена столбцов после вызова combn, чтобы в этом случае мы могли получить «x y» вместо «X1.5 X4.8», как показано ниже?

comb_df <- data.frame(all_comb[1,1],all_comb[2,1])
print(comb_df)

  X1.5 X4.8
1    1    4
2    2    5
3    3    6
4    4    7
5    5    8

person user3794465    schedule 22.01.2015    source источник
comment
[Это] [1] может быть тем, что вы ищете. [1]: stackoverflow.com / questions / 20919037 /   -  person    schedule 31.03.2015


Ответы (1)


Я подозреваю, что вы действительно хотите использовать вместо этого expand.grid().

Попробуй это:

head(expand.grid(foo))

  x y  z w
1 1 4 10 8
2 2 4 10 8
3 3 4 10 8
4 4 4 10 8
5 5 4 10 8
6 1 5 10 8

or

head(expand.grid(foo[, 1:2]))

  x y
1 1 4
2 2 4
3 3 4
4 4 4
5 5 4
6 1 5
person Andrie    schedule 22.01.2015
comment
Спасибо за помощь, Андри. На самом деле, я хочу использовать функцию combn, чтобы получить все возможные 2-комбинации (a, b) из 4 векторов (x, y, z, w). У меня получилось, но названия столбцов не сохраняются в памяти, это как-то возможно? - person user3794465; 23.01.2015