【问题标题】:how to get column specific unique values in data.table in r如何在 r 中的 data.table 中获取特定于列的唯一值
【发布时间】:2017-05-15 04:47:53
【问题描述】:

我有一个数据表说“dt”,它看起来像:

head(time_info_summary)
mon_from_time mon_to_time tue_from_time tue_to_time wed_from_time wed_to_time thu_from_time thu_to_time
0700        2200          0700        2200          0700        2200          0700        2200
0800        2200          0800        2200          0800        2200          0800        2200
0800        2200          0800        2200          0800        2200          0800        2200
0700        2300          0700        2300          0700        2300          0700        2300
0800        2200          0800        2200          0800        2200          0800        2200
0800        2000          0800        2000          0800        2000          0800        2000

我只想在每一列中都有唯一值。例如我的列“mon_from_time”必须只有两条记录 0700 和 0800,列“mon_to_time”必须有三条记录 2200 和 2300 和 2000 等等。

如何做到这一点?

【问题讨论】:

  • 您将如何处理每列中具有不同数量的唯一值?
  • 我想和每一列的唯一值做比较
  • 您可能想要编辑您的问题以描述您打算进行的比较。因为您目前所问的问题在矩形数据集中似乎不切实际。

标签: r data.table


【解决方案1】:

你好像在找

apply(time_info_summary, 2, unique)

但正如@thelatemail 所说,这在矩形数据集设置中有点不切实际。

【讨论】:

  • 我怎样才能把每个时期的总数。例如:0700 - 2 次,0800 - 4 次为星期一在同一个列表中
  • 我认为apply(time_info_summary, 2, table) 应该可以工作。
  • 感谢您的帮助
  • 这不是 data.table 问题吗?这应该是time_info_summary[, lapply(.SD, unique)]。另外,请不要在除矩阵之外的任何东西上使用apply。你可以做lapply(time_info_summary, unique)之类的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 2022-01-18
相关资源
最近更新 更多