Изменить значение из одного столбца Dataframe на основе значения другого dataframe [R] - PullRequest
0 голосов
/ 25 октября 2018

У меня есть следующие 2 кадра данных.

Мой первый DF - это такой, я такой DDBB, где у меня есть только одно вхождение из каждого значения ISIN.

 ISIN inst inst_type type
    asd    1    2     ETF
    asb    2    b     Bond
    bcd    3    c     Bond

Мой второйDF следующий:

    ISIN inst inst_type type
    asd    1      2      ""
    asd    1      2      ""
    bcd    3      c      ""
    bcd    3      c      ""
    bcd    3      c      ""
    asb    2      b      ""

Что я хочу сделать, это заполнить, например, базу данных столбца второго типа в типе данных на первом DF.В моем первом DF для ISIN тип 'asd' - 'ETF', поэтому мой второй ETF должен быть таким:

 ISIN inst inst_type type
    asd    1      2      ETF
    asd    1      2      ETF
    bcd    3      c      ""
    bcd    3      c      ""
    bcd    3      c      ""
    asb    2      b      ""

Я могу сделать это с помощью цикла for, но моя проблема в том, что если у меня есть Df с400 тыс. Строк - это не эффективный способ сделать это.

Есть идеи, как решить его более эффективно?

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете использовать цикл for, но зацикливание по разным ISIN, а не по строкам, будет более эффективным.как это:

factors <- unique(df1$ISIN)
for(i in factors){
  df2$type[df2$ISIN==i] <- df1$type[df1$ISIN==i][1]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...