【发布时间】:2016-02-24 03:41:03
【问题描述】:
我有一个包含 20 个变量的 1000 个观察值的数据框。
我只想选择跨列具有唯一组合的行,而不管它们的顺序如何。
也就是说,如果一个组合是 ABA 而另一个是 BAA,我希望代码只返回其中一个组合。
为了识别独特的组合,我对多个变量运行了一个简单的unique 命令。
您将如何编写这样的代码?
【问题讨论】:
标签: r dataframe unique combinations
我有一个包含 20 个变量的 1000 个观察值的数据框。
我只想选择跨列具有唯一组合的行,而不管它们的顺序如何。
也就是说,如果一个组合是 ABA 而另一个是 BAA,我希望代码只返回其中一个组合。
为了识别独特的组合,我对多个变量运行了一个简单的unique 命令。
您将如何编写这样的代码?
【问题讨论】:
标签: r dataframe unique combinations
我们可以使用apply和MARGIN=1逐行sort数据,然后使用duplicated返回逻辑索引,取反得到数据中的unique行。
dat[!duplicated(t(apply(dat, 1, sort))),]
【讨论】: