【问题标题】:How do I calculate total number of unique values in a dataframe?如何计算数据框中唯一值的总数?
【发布时间】:2015-04-11 21:41:17
【问题描述】:

这是一个示例数据框:

>frame

  X1 X2 X3 X4
1  F  F  F  F
2  C  C  C  C
3  D  D  D  D
4 A# A# A# A#

当我运行unique(c(frame)) 时,我得到一个包含四个唯一值的向量,“F”、“C”、“D”、“A#”。但是,如果我运行length(unique(c(frame))),我得到的长度为 1。所以我正在寻找一种方法来获取数据框中以及数据框子集中的唯一值的总数。

【问题讨论】:

  • 试试length(unique(unlist(df)))
  • 效果很好。知道为什么使用 c() 不起作用但 unlist() 起作用吗?
  • 这是因为unique(c(frame))是一个元素的列表
  • data.frames 实际上是 lists 的幕后向量。

标签: r dataframe unique


【解决方案1】:

每个@DatamineR:

length(unique(unlist(df)))

【讨论】:

    【解决方案2】:

    除了 Python 之外,我一直在为与您相同的问题而苦苦挣扎。在它上面,我弄清楚了它是如何工作的,它看起来像这样:len(df['column'].unique())

    【讨论】:

    • 嗯,原理是一样的。我正要问一个非常相似的问题,而出现的第一个“相似问题”就是这个。然后我记得使用 len 功能。对于那些在同一件事上苦苦挣扎的人,我认为我的代码可以对他们有用。特别是因为独特的功能在 R 中也是不同的。
    • 关于 SO 的问题通常是关于特定语言的,因此在这里用 Python 回答关于 R 的问题不会被认为是有用的
    • 它被标记为 R,问题中的代码是 R,而不是 Python。有很多discussion on Meta 的共识是,在大多数情况下,用另一种语言回答关于一种语言的问题是没有用的。这是一个关于 Python 的类似问题的完美答案
    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    相关资源
    最近更新 更多