我有一个看起来像这样的数据帧:
crop1 crop4 crop5 crop6 crop7 crop8 crop9 crop10 crop11
1 Onion Rice Soya Beans Sugar Cane Onion Tea Corn (Maize) Rice Soya Beans
2 None None None None None None None None None
3 None None None None None None None None None
4 Accacia Rubber Accacia Rubber Accacia Rubber Accacia Rubber Accacia
5 Accacia Rubber Accacia Rubber Accacia Rubber Accacia Rubber Accacia
6 Rice Rice Rice Rice Rice Rice Rice Rice Rice
现在,我想在NA首次出现后将NA分配给每行中的所有重复条目。也就是说,我的数据帧在每一行中应该只有唯一的条目,否则为 NA。例如,在第一行中,我希望有:
1 Onion Rice Soya Beans Sugar Cane NA Tea Corn (Maize) NA NA
由于"洋葱","大米"和"大豆"已经出现在这一行中。因此,第 4 行应如下所示:
4 Accacia Rubber NA NA NA NA NA NA NA
对此有什么想法吗?
谢谢!
数据帧:http://pastebin.com/yKqhWyvW
我们可以使用duplicated
将重复元素设置为每行中的NA
apply
df1[] <- t(apply(df1, 1, FUN = function(x) replace(x, duplicated(x), NA)))