gpt4 book ai didi

r - 独特与独特之间的区别

转载 作者:行者123 更新时间:2023-12-04 02:06:49 24 4
gpt4 key购买 nike

distinct有什么区别和 unique在 R 中使用 dplyr 考虑到:

  • 速度
  • 功能(有效输入、参数等)和用途
  • 输出

  • 例如:
    library(dplyr)
    data(iris)

    # creating data with duplicates
    iris_dup <- bind_rows(iris, iris)

    d <- distinct(iris_dup)
    u <- unique(iris_dup)

    all(d==u) # returns True

    在这个例子中 distinctunique执行相同的功能。有没有你应该使用一个而不是另一个的例子?是否有任何技巧或常见用途?

    最佳答案

    这些函数可以互换使用,因为在这两个函数中都存在等效的命令。主要区别在于速度和输出格式。
    distinct()是 dplyr 包下的一个函数,可以自定义。例如,以下代码段仅返回数据框中指定列集的不同元素

    distinct(iris_dup, Petal.Width, Species)
    unique()严格返回数据框中的唯一行。每行中的所有元素都必须匹配才能被称为重复项。

    编辑:正如 Imo 指出的那样, unique()有类似的功能。我们获得一个临时数据框并从中找到唯一的行。对于大型数据帧,此过程可能会更慢。
    unique(iris_dup[c("Petal.Width", "Species")])

    两者都返回相同的输出(尽管有一点差异 - 它们表示 不同的 行号)。 distinct返回一个有序列表,而 unique返回每个唯一元素第一次出现的行号。
         Petal.Width    Species
    1 0.2 setosa
    2 0.4 setosa
    3 0.3 setosa
    4 0.1 setosa
    5 0.5 setosa
    6 0.6 setosa
    7 1.4 versicolor
    8 1.5 versicolor
    9 1.3 versicolor
    10 1.6 versicolor
    11 1.0 versicolor
    12 1.1 versicolor
    13 1.8 versicolor
    14 1.2 versicolor
    15 1.7 versicolor
    16 2.5 virginica
    17 1.9 virginica
    18 2.1 virginica
    19 1.8 virginica
    20 2.2 virginica
    21 1.7 virginica
    22 2.0 virginica
    23 2.4 virginica
    24 2.3 virginica
    25 1.5 virginica
    26 1.6 virginica
    27 1.4 virginica

    总的来说,这两个函数都根据所选的组合列返回唯一的行元素。但是,我倾向于引用 dplyr图书馆并声明 distinct是比较快的。

    关于r - 独特与独特之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45198738/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com