R- 子集化或打印 5x14 数据帧中所有可能的列对
R- Subset or print all possible column pairs from a 5x14 dataframe
我有一个包含 14 列和 5 行的 R 数据框(没有 headers 和行名称),我想提取所有可能的列对,如果可能的话,它们是唯一的。
例如我的输入数据框:
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14
A 1 1 1 0 1 0 1 0 0 1 0 1 0 0
B 0 1 0 0 1 0 0 1 1 0 1 1 0 0
C 1 0 1 1 1 0 0 0 0 1 1 1 1 1
D 1 1 1 1 1 1 1 0 0 0 1 1 0 0
E 1 0 0 1 0 1 1 1 0 1 1 1 1 1
我想得到所有可能的 91 个唯一对,例如:
C1 C2
A 1 1
B 0 1
C 1 0
D 1 1
E 1 0
C1 C3
A 1 1
B 0 0
C 1 1
D 1 1
E 1 0
依此类推,如果可能的话在不同的数据帧中
谢谢!
我们可以用combn
做成对组合
out <- combn(df1, 2, simplify = FALSE)
-输出
> length(out)
[1] 91
> out[[1]]
C1 C2
A 1 1
B 0 1
C 1 0
D 1 1
E 1 0
数据
df1 <- structure(list(C1 = c(1L, 0L, 1L, 1L, 1L), C2 = c(1L, 1L, 0L,
1L, 0L), C3 = c(1L, 0L, 1L, 1L, 0L), C4 = c(0L, 0L, 1L, 1L, 1L
), C5 = c(1L, 1L, 1L, 1L, 0L), C6 = c(0L, 0L, 0L, 1L, 1L), C7 = c(1L,
0L, 0L, 1L, 1L), C8 = c(0L, 1L, 0L, 0L, 1L), C9 = c(0L, 1L, 0L,
0L, 0L), C10 = c(1L, 0L, 1L, 0L, 1L), C11 = c(0L, 1L, 1L, 1L,
1L), C12 = c(1L, 1L, 1L, 1L, 1L), C13 = c(0L, 0L, 1L, 0L, 1L),
C14 = c(0L, 0L, 1L, 0L, 1L)), class = "data.frame", row.names = c("A",
"B", "C", "D", "E"))
我有一个包含 14 列和 5 行的 R 数据框(没有 headers 和行名称),我想提取所有可能的列对,如果可能的话,它们是唯一的。
例如我的输入数据框:
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14
A 1 1 1 0 1 0 1 0 0 1 0 1 0 0
B 0 1 0 0 1 0 0 1 1 0 1 1 0 0
C 1 0 1 1 1 0 0 0 0 1 1 1 1 1
D 1 1 1 1 1 1 1 0 0 0 1 1 0 0
E 1 0 0 1 0 1 1 1 0 1 1 1 1 1
我想得到所有可能的 91 个唯一对,例如:
C1 C2
A 1 1
B 0 1
C 1 0
D 1 1
E 1 0
C1 C3
A 1 1
B 0 0
C 1 1
D 1 1
E 1 0
依此类推,如果可能的话在不同的数据帧中
谢谢!
我们可以用combn
做成对组合
out <- combn(df1, 2, simplify = FALSE)
-输出
> length(out)
[1] 91
> out[[1]]
C1 C2
A 1 1
B 0 1
C 1 0
D 1 1
E 1 0
数据
df1 <- structure(list(C1 = c(1L, 0L, 1L, 1L, 1L), C2 = c(1L, 1L, 0L,
1L, 0L), C3 = c(1L, 0L, 1L, 1L, 0L), C4 = c(0L, 0L, 1L, 1L, 1L
), C5 = c(1L, 1L, 1L, 1L, 0L), C6 = c(0L, 0L, 0L, 1L, 1L), C7 = c(1L,
0L, 0L, 1L, 1L), C8 = c(0L, 1L, 0L, 0L, 1L), C9 = c(0L, 1L, 0L,
0L, 0L), C10 = c(1L, 0L, 1L, 0L, 1L), C11 = c(0L, 1L, 1L, 1L,
1L), C12 = c(1L, 1L, 1L, 1L, 1L), C13 = c(0L, 0L, 1L, 0L, 1L),
C14 = c(0L, 0L, 1L, 0L, 1L)), class = "data.frame", row.names = c("A",
"B", "C", "D", "E"))