在数据框中,我有一列包含字符串.让我们说它看起来像这样:
x <- unique(df[,1])
x
"A" "A" "B" "B" "B" "C"
Run Code Online (Sandbox Code Playgroud)
我想把所有可能的独特字符串组合作为2组而不关心他们的顺序,所以A, B是相同的B, A,我不想得到与组合相同的值A, A.到目前为止,我到目前为止:
comb <- expand.grid(x, x)
comb <- comb[which(comb[,1] != comb[,2]),]
Run Code Online (Sandbox Code Playgroud)
但是这仍然存在以不同顺序具有相同字符串组合的行的问题.我怎么摆脱这个?
Ben*_*nes 17
包中有combn功能utils:
t(combn(LETTERS[1:3],2))
# [,1] [,2]
# [1,] "A" "B"
# [2,] "A" "C"
# [3,] "B" "C"
Run Code Online (Sandbox Code Playgroud)
我有点困惑为什么你x有重复的价值观.
Sac*_*amp 12
我想你正在寻找combn:
x <- c("A", "A", "B", "B", "B", "C")
combn(x,2)
Run Code Online (Sandbox Code Playgroud)
得到:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
[1,] "A" "A" "A" "A" "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B"
[2,] "A" "B" "B" "B" "C" "B" "B" "B" "C" "B" "B" "C" "B" "C" "C"
Run Code Online (Sandbox Code Playgroud)
如果你只想要唯一的值x(我不知道你为什么x在第一个地方有重复的值,如果它是一个unique()调用的结果):
> combn(unique(x),2)
[,1] [,2] [,3]
[1,] "A" "A" "B"
[2,] "B" "C" "C"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7448 次 |
| 最近记录: |