2
データフレームをループし、特定の変数のすべての組み合わせ(繰り返しなし)を取得することに興味があります。Rは1列内の行を結合するために入れ子になっています
これをリストに格納し、後で新しいデータフレームに列として追加することができます。 私はRを使ってこれを達成したいと思いますが、Pythonもうまくいくでしょう。
私の現在のデータ:N-1 = 9 及び9 + 8ので
idx A B C
1 name1 val_x1 val_y1
2 name2 val_x2 val_y2
3 name3 val_x3 val_y3
...
10 name10 val_x10 val_y10
... + 1 = 45 私の所望のデータがリストとして、次のようになります。
c("name1_name2","name1_name3","name1_name4",...,"name9_name10")
以降のデータフレームのように:私は、ネストされたと、目的のデータのうち、リストを作るために考え
idy D
1 name1_name2
2 name1_name3
3 name1_name4
...
45 name9_name10
forループは、私はおそらく何か(複数のもの?)間違っているように動作しません。
i <- 1
j <- 2
k <- 1
new_list <- c()
while (k < 45)
while (i < 11){
while (j < 10){
new_list[[k]] <- paste(df$A[i], df$A[j], sep="_")
j <- j + 1
k <- k + 1
}
i <- i + 1
}
これは、すべてのヒントは歓迎されているように、これは動作しません。
PS。私は、あなたの忍耐に感謝比較的新しいです:)
多くのおかげでを使用することができます! 最初の行の後に奇妙なエラーが発生したようです: > D < - combn(df1 $ A、2、FUN = paste、collapse = "_") "クラスのエラー - クラス(x0 ): "factor"を無効なオブジェクトに追加する " –
@Frank_C「A」列を「文字」としました。 'D < - combn(as.character(df1 $ A)、2、FUN = paste、collapse =" _ ")' – akrun
を試してみてください。 –