查找具有相应名称的命名向量的唯一值

时间:2017-10-24 11:42:30

标签: r vector dplyr

正如tittle所揭示的那样,我想找出具有相应名称的命名向量的唯一值

library(dplyr)
temp <-   runif(10000, 0, 10) %>% ceiling() %>% as.integer()
names(temp) <-  c('a', 'b', "c", 'd', 'e','f', 'g', "s", "s", 'r') %>% rep(100)

指定矢量的前10个值看起来像这样。

temp[1:10]
a b c d e f g s s r 
7 4 9 2 5 7 9 8 8 8 

我可以找到唯一值或唯一名称。但我不知道如何找到它们并知道如何匹配它们。

temp %>% unique()
names(temp) %>% unique()

2 个答案:

答案 0 :(得分:2)

对于命名向量,您可以这样做,

temp[unique(names(temp))]

#or

temp[!duplicated(names(temp))]

#or

temp[match(unique(names(temp)), names(temp))]

答案 1 :(得分:1)

我认为最好让名称和值在数据框中分隔列。然后,您可以使用validateStepOneChannelData: function(callback) { var response = {error: false, data: {}}; var error = false; var action = $("#action").val(); $.ajax({ type: "POST", url: '/verifyEmailAddressByKickBox', dataType: "json", async:false, data: ({email: $("#email").val()}), beforeSend:function(){ $('#next_box1_button').prop('disabled', true).addClass('hy-loading-btn'); $('#saveChannel').prop('disabled', true).addClass('hy-loading-btn'); }, success: function(res) { $('#next_box1_button').prop('disabled', false).removeClass('hy-loading-btn'); $('#saveChannel').prop('disabled', false).removeClass('hy-loading-btn'); if (res.status == 'F') { error = true; response.data.email = 'Please enter valid email address.'; } } }); if (error) { response.error = true; } callback(response); 获取唯一组合。

distinct