duplicate()の動作が異なる原因は何ですか?

君たち

ほぼ同じ2行のコードで複製の動作が異なるという問題があります。dfは次のようになります。

odonata = data.frame(H = c(2019071600, 2019071600, 2019071600, 2019071601, 2019071602), name = c(null, odonata, null, null, odonata)

#      H         name
# 2019071600     null
# 2019071600     odonata
# 2019071600     null
# 2019071601     null
# 2019071602     odonata

この行を使用する場合:

odonata = odonata[which(!duplicated(odonata$copydate)),]

出力は次のようになります。

#      H         name
# 2019071600     null    
# 2019071600     null
# 2019071601     null

しかし、このdfで同じコードを使用すると、次のようになります。

araneae = data.frame(H = c(2019071600, 2019071600, 2019071600, 2019071601, 2019071602), name = c(null, araneae, null, null, araneae)

#      H         name
# 2019071600     null
# 2019071600     araneae
# 2019071600     null
# 2019071601     null
# 2019071602     araneae

araneae= araneae[which(!duplicated(araneae$copydate)),]

出力は次のようになります。

#      H         name
# 2019071600     araneae
# 2019071601     null
# 2019071602     araneae

さて、私はそれをクモの出力のようにしたいと思います(これらの2つの例以上)。トンボdfとそれに続くもの(アルファベット順)には、この問題があるようです。問題は、アルファベット順に自動的に並べ替えた後、結果として最も重複しているものが選択されることだと思いました。私が試してみました:

  • Hによるグループ化
  • 「名前」を数値にする(0&1)
  • sort()またはdinstinct()の使用
  • 「odonata = odonata [which(!duplicated(odonata $ copydate))、]」のバリアント
  • 多分もっと思い出せない

しかし、私が試したすべてがそれを悪化させました。私が得た最も近いものは、name = "null" AND name = "odonata"が存在する場合に重複Hのみを持つことでしたが、重複Hは明らかにしたくないので、重複HからすべてのHのトンボを選択する必要があります。トンボ。

情報が十分であることを願っています、TIA!

StupidWolf

私はあなたが含めたいものの論理を完全には理解していませんが、複製は次のように機能します:

X = c("a","a","b")
duplicated(X)

[1] FALSE  TRUE FALSE

2回目に来るものはすべて、重複していると見なされます。したがって、data.frameでそれを行う場合、それはにのみ依存しますcopydate

2番目の列に特定の設定がある場合は、最初にdata.frameを並べ替えます。

araneae = data.frame(H = c(2019071600, 2019071600, 2019071600, 2019071601, 2019071602), name = c("null", "araneae","null","null","araneae"))

araneae = araneae[order(araneae$H,araneae$name),]

araneae[!duplicated(araneae$H),]
           H    name
2 2019071600 araneae
4 2019071601    null
5 2019071602 araneae

araneaeの前に、nullを選択したい場合は、次のようにします。

araneae$name = factor(araneae$name,levels=c("null","araneae"))
araneae = araneae[order(araneae$H,araneae$name),]
araneae[!duplicated(araneae$H),]

           H    name
1 2019071600    null
4 2019071601    null
5 2019071602 araneae

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

forループの繰り返し間でhtmlとスクリプトの動作が異なる原因は何ですか?

分類Dev

この奇妙なJavaの動作の原因は何ですか?

分類Dev

NameValueCollectionの動作が異なるのはなぜですか?

分類Dev

groupby操作の動作が異なるのはなぜですか

分類Dev

`fxLayoutAlign`の動作が異なるのはなぜですか?

分類Dev

hide()の動作が異なるのはなぜですか?

分類Dev

to_symの動作が異なるのはなぜですか?

分類Dev

C pipe()関数がある場合とない場合-この動作の原因は何ですか?

分類Dev

Unityの起動が遅くなる原因は何ですか?

分類Dev

Unityの起動が遅くなる原因は何ですか?

分類Dev

DockercpがUnixcpとは異なる動作をする理由は何ですか?

分類Dev

jQueryがjavascriptとは異なる動作をするのはなぜですか?

分類Dev

ghciがrunHaskellとは異なる動作をするのはなぜですか?

分類Dev

memsetが関数で異なる動作をするのはなぜですか?

分類Dev

この例で「grep」の動作が異なるのはなぜですか?

分類Dev

zshとbashの `[...]`内で `==`の動作が異なるのはなぜですか?

分類Dev

zshとbashの `[...]`内で `==`の動作が異なるのはなぜですか?

分類Dev

Chromeで並べ替えの動作が異なるのはなぜですか?

分類Dev

SetSystemTime()が午後に異なる動作をするのはなぜですか?

分類Dev

'names'の属性の動作が異なるのはなぜですか?

分類Dev

WindowsとLinuxの間でmalloc()とfree()の動作にこの違いが生じる原因は何ですか?

分類Dev

このコードが異なる値で異なる動作をするのはなぜですか

分類Dev

TreeSetのaddメソッドが異なるJREで異なる動作をするのはなぜですか?

分類Dev

この奇妙なセキュリティ動作の原因は何ですか?

分類Dev

同じコードの動作が異なるのはなぜですか?

分類Dev

( '0'? 'a': 'b')の動作が( '0' == true? 'a': 'b')と異なるのはなぜですか

分類Dev

width:autoの動作がheight:autoと異なるのはなぜですか?

分類Dev

Unix find -exec:次の動作が異なるのはなぜですか?

分類Dev

routerLinkとrouter.navigate()の動作が異なるのはなぜですか?

Related 関連記事

  1. 1

    forループの繰り返し間でhtmlとスクリプトの動作が異なる原因は何ですか?

  2. 2

    この奇妙なJavaの動作の原因は何ですか?

  3. 3

    NameValueCollectionの動作が異なるのはなぜですか?

  4. 4

    groupby操作の動作が異なるのはなぜですか

  5. 5

    `fxLayoutAlign`の動作が異なるのはなぜですか?

  6. 6

    hide()の動作が異なるのはなぜですか?

  7. 7

    to_symの動作が異なるのはなぜですか?

  8. 8

    C pipe()関数がある場合とない場合-この動作の原因は何ですか?

  9. 9

    Unityの起動が遅くなる原因は何ですか?

  10. 10

    Unityの起動が遅くなる原因は何ですか?

  11. 11

    DockercpがUnixcpとは異なる動作をする理由は何ですか?

  12. 12

    jQueryがjavascriptとは異なる動作をするのはなぜですか?

  13. 13

    ghciがrunHaskellとは異なる動作をするのはなぜですか?

  14. 14

    memsetが関数で異なる動作をするのはなぜですか?

  15. 15

    この例で「grep」の動作が異なるのはなぜですか?

  16. 16

    zshとbashの `[...]`内で `==`の動作が異なるのはなぜですか?

  17. 17

    zshとbashの `[...]`内で `==`の動作が異なるのはなぜですか?

  18. 18

    Chromeで並べ替えの動作が異なるのはなぜですか?

  19. 19

    SetSystemTime()が午後に異なる動作をするのはなぜですか?

  20. 20

    'names'の属性の動作が異なるのはなぜですか?

  21. 21

    WindowsとLinuxの間でmalloc()とfree()の動作にこの違いが生じる原因は何ですか?

  22. 22

    このコードが異なる値で異なる動作をするのはなぜですか

  23. 23

    TreeSetのaddメソッドが異なるJREで異なる動作をするのはなぜですか?

  24. 24

    この奇妙なセキュリティ動作の原因は何ですか?

  25. 25

    同じコードの動作が異なるのはなぜですか?

  26. 26

    ( '0'? 'a': 'b')の動作が( '0' == true? 'a': 'b')と異なるのはなぜですか

  27. 27

    width:autoの動作がheight:autoと異なるのはなぜですか?

  28. 28

    Unix find -exec:次の動作が異なるのはなぜですか?

  29. 29

    routerLinkとrouter.navigate()の動作が異なるのはなぜですか?

ホットタグ

アーカイブ