2016-05-17 6 views
0

各リスト項目が一意の要素を有する、リストを作成するベクトルであり、globalは、データフレームです。 namesの各要素をそれぞれpeople_namesと比較し、Classを取得しています。 Classの値がそれぞれpeople_namesで異なる場合、コードはうまく機能します。しかし、people_names「ロック」のクラスがある場合:class1class2class3class3、 私のリストを入力中にclass3の繰り返しを削除できません。 select(unique(Class))を使用しても役に立ちません。助けてください。

+0

再現可能な例と予想される出力を提供するには、 'dput'を使用してください。 – Sotos

+0

私のベクトルが最初の要素 "岩"を持っているとします。だから私は "rocky"としてpeople_namesのすべての行に対応する別の列要素(列名クラス)をピックアップして、データフレームglobal $ people_namesに "rocky"を見つけるコードを書いています。私は今、1つのピックアップの結果を持つ各リスト項目でリストを作成します。私は別々のクラスだけを拾いたい。 – Abhi

答えて

0

あなたが選択した後、1本の以上のパイプを追加し、サブセットを使用することができます()と重複()ので、問題の列に重複を削除するには:

a[i]<-filter(global,global$people_names==names[i]) %>% 
    select(Class) %>% 
    subset(!duplicated(Class)) 

・ホープ、このことができます!

+0

ありがとうございます。なぜユニークではないのか分かりません。 – Abhi

+0

あなたはユニークな()の中で、パイプとすべてを包み込んでいればユニークな仕事ができました。ただし、unique(Class)を使用すると、Class列全体が、意味のあるものにマップされない一意の値の短いリストになりました。 –

関連する問題

 関連する問題