2015-04-19 3 views
0

У меня есть список неповторимых имен в CSV-файле. Я хочу присвоить идентификатор каждому уникальному имени в этом списке. Таким образом, если данные что-то вроде этого:В R, как мне найти индексы элементов в списке в другом более крупном списке?

Стейси
Адам
Дональд
Адам
Грег
Дональд

Я хочу выход быть что-то вроде этого:

1 Stacy
2 Адам
3 Дональд
2 A плотины
5 Грег
3 Дональд

Я попытался с помощью функции MATCH(), но не кажется, что работает. Любая помощь будет принята с благодарностью.

data <- read.csv(file = "mock_data.csv", header = TRUE) 
uniqueFirstNames <- unique(data["first_name"]) 
paste('Number of unique first names: ', nrow(uniqueFirstNames)) 
indices <- match(x = uniqueFirstNames, table = data["first_name"]) 

показатели выше в настоящее время дает мне NA

ответ

2
df <- data.frame(names = c("Stacy", "Adam","Donald","Adam","Greg","Donald")) 

    ##using factor 
    df$flag <- with(df, as.numeric(factor(names,levels=unique(names)))) 

    ##Using match 
    df$flag2 <- with(df, match(names, unique(names))) 

    names flag flag2 
    Stacy 1  1 
    Adam  2  2 
    Donald 3  3 
    Adam  2  2 
    Greg  4  4 
    Donald 3  3 
+0

Это прекрасно работает для меня. Благодаря! – user1689757

 Смежные вопросы

  • Нет связанных вопросов^_^