使用数据框列名称和值来命名行

时间:2016-10-18 16:46:24

标签: r dataframe names

我有一个不同组合的数据框,表示标记是否存在1或不是0

combinations_df <- expand.grid(
marker_a = c(0, 1), 
marker_b = c(0, 1), 
marker_c = c(0, 1), 
marker_d = c(0, 1)
)

   marker_a marker_b marker_c marker_d
1         0        0        0        0
2         1        0        0        0
3         0        1        0        0
4         1        1        0        0
5         0        0        1        0
6         1        0        1        0
7         0        1        1        0
8         1        1        1        0
9         0        0        0        1
10        1        0        0        1
11        0        1        0        1
12        1        1        0        1
13        0        0        1        1
14        1        0        1        1
15        0        1        1        1
16        1        1        1        1

我正在尝试创建一个向量来为每个列分配行名及其值。

示例输出:

                                                    marker_a marker_b marker_c marker_d
marker_a_0-marker_b_0-marker_c_0-marker_d_0         0        0        0        0
marker_a_1-marker_b_0-marker_c_0-marker_d_0         1        0        0        0
...

1 个答案:

答案 0 :(得分:1)

这应该这样做:

apply(combinations_df,
      MARGIN = 1,
      FUN = function(x) {
                            paste0(c(rbind(colnames(combinations_df), x)),
                                   collapse = "-")
                        }
      )