我有一个不同组合的数据框,表示标记是否存在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
...
答案 0 :(得分:1)
这应该这样做:
apply(combinations_df,
MARGIN = 1,
FUN = function(x) {
paste0(c(rbind(colnames(combinations_df), x)),
collapse = "-")
}
)