Mathematicaのデータリストの要素を削除しようとしていますが、Select
とUnion
の仕組みがわかりません。例えば、私は次のリストにデータリストの重複ポイントの選択
list = {{0.10,0.20},{1.10,0.20},{0.70,0.80},{0.20,1.10},
{1.20,1.20},{0.12,0.18},{0.68,0.76}}
を持っているだけ0.05
の距離半径内のポイントが重複していることを考慮(0,1)x(0,1)
の要素を必要とします。この例では、
list1 ={{0.10,0.20},{0.70,0.80}}
要素は等価クラスを表していますが、私は気にしません。イムは、次の操作を行う:
list1 = Select[list, 0 < Part[#,1] <1 &];Select[list,0 < Part[#,2] <1 &]
ウィッヒは(0,1)x(0,1)
でポイントを与えますが、私は、このような
Union[list1, SameTest -> (Abs[#1-#2] < 0.05 &)]
として、Union
を使用しようとする場合、私はスロットエラーを取得します。
誰かに私にそれをきれいに説明する方法を教えてもらえますか?
DeleteDuplicates[list1, Abs[Part[#1, 1] - Part[#2, 1]] < 10^-6 &]
を使用して
--- EDIT ---
は、トリックを行いますが、私はリストのリストで動作カント私はなぜだろうか。
私はStackOverflowのにあなたを歓迎し、我々は通常、ここで行う3つのことを思い出させるために許可する:あなたが助けを受けると1)、あまりにもそれを与えることを試みる**質問に答える**にあなたの専門分野2)[「よくある質問を読む」](http://tinyurl.com/2vycnvr)3)良いQ&Aを見たら、「灰色の三角形を使って」投票してください(http:// i .imgur.com/kygEP.png)。システムの信頼性は、ユーザーが知識を共有して得た評判に基づいているためです。また、あなたの問題をより良く解決する答えを受け入れることを忘れないでください。もしあれば、[チェックマークを押してください](http://tinyurl.com/4srwe2t) –