为R中的递归列表创建唯一条目的子集

时间:2016-02-24 15:03:26

标签: r recursion duplicates unique subset

我有以下数据集df

name  draught   nav_status  date
 A      22          0       24/12/2014
 A      22          0       25/12/2014
 A      11          5       26/12/2014
 A      11          1       27/12/2014
 B      22          0       24/12/2014
 B      22          0       25/12/2014
 B      22          0       26/12/2014
 B      22          5       27/12/2014
 B      9           0       28/12/2014
 B      22          0       29/12/2014

从这个数据集中,我需要为列表中的每个对象提取唯一的草稿值。

我对R来说相当新,并做了以下尝试

y <- subset(df,!duplicated(df[,draught]),)

Dup <- function(x){
x <- x[!duplicated[x$draught],]
y <- lapply(df, Dup)

但是这会删除整个数据的草稿条目。我浏览了一些关于分裂应用和组合技术的文献,并尝试了这些选项。 请提供一些指导,文献以解决这个问题。

结果应为

name  draught  nav_status  date
 A     22          0        24/12/2014
 A     11          5        26/12/2014
 A     11          1        27/12/2014
 B     22          0        25/12/2014
 B     9           0        28/12/2014

我甚至尝试subset基于第一个和最后一个条目的数据,顺序排列它们并删除重复的条目,但是数据丢失了。谢谢!

1 个答案:

答案 0 :(得分:0)

使用var str1 = "hello", str2 = "ehlol"; // Add sort on prototype of String object String.prototype.sort = function () { return this.split('').sort().join(''); }; // First check if length of both is same var same = str1.length === str2.length && str1.sort() === str2.sort(); console.log('Strings are same?', same); 库,您可以通过以下方式获得结果:

data.table

但有一件事。为什么你在期望的结果中有一对A 11的两个条目?