我有一个大型数据集,其中包含5个时间段的重复测量。在R中的变量(列)中计数唯一值
2012 2009 2006 2003 2000
3 1 4 4 1
5 3 2 2 3
6 7 3 5 6
我想添加一个新列,这是唯一值的年中数字2000到2012年。例如,
2012 2009 2006 2003 2000 nunique
3 1 4 4 1 3
5 3 2 2 3 3
6 7 3 5 6 4
我在R工作,如果有帮助,有在每个时间段只有14个可能的不同测量值。
我发现本页面:Count occurrences of value in a set of variables in R (per row)并尝试了它提供的各种解决方案。然而,它给我的是每个值的计数,而不是唯一值的数量。 这里的其他类似问题似乎要求关于计算变量/列中唯一值的数量,而不是跨每行。 任何建议,将不胜感激。
谢谢,这工作完美! – user3251223 2014-09-25 16:20:56
请注意:如果您的数据框中包含NAs,则会将这些值视为唯一值。用以下命令修改:df $ nunique < - apply(df,1,function(x)length(unique(na.omit(x)))) - 我添加了一个应用于'x'的'na.omit'。 – 2016-03-17 15:41:30