как сравнить значения двух фреймов данных в r и создать новый фрейм данных в результате в R - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть два фрейма данных:

my.data.1

       AIRLINE    STORES
[1]    500        100
[2]    300        200

my.data.2

       AIRLINE   STORES
33%    50        25
67%    150       65

Я хочу создать новые данныесопоставьте их, взяв каждое значение из столбцов my.data.1 и проверьте, является ли оно больше или меньше или между значениями соответствующего столбца в my.data.2

Например:

  my.data.1[1, 'AIRLINE'] < my.data.2['33%', 'AIRLINE'] = 'LOW'

  my.data.1[1, 'AIRLINE'] > my.data.2['67%', 'AIRLINE'] = 'HIGH'

  my.data.1[1, 'AIRLINE'] >= my.data.2['33%', 'AIRLINE'] && 
      my.data.1[1, 'AIRLINE'] <= my.data.2['67%', 'AIRLINE'] = 'MED'

, чтобы я получил итоговую славу данных, которая будет выглядеть как

       AIRLINE    STORES
[1]    HIGH        HIGH
[2]    HIGH        HIGH

1 Ответ

0 голосов
/ 09 апреля 2019

Ваш вопрос не очень понятен.Попробуйте, если у вас работает следующее:

df1 <- data.frame(AIRLINE = c(500, 300),
                  STORES = c(100, 200))
df2 <- data.frame(AIRLINE = c(50, 150),
                  STORES = c(25, 65))
getScore <- function(x, y) {
  ifelse(x < y[1], "LOW",
         ifelse(x > y[2], "HIGH", "MED"))
}
df3 <- df1
df3$AIRLINE <- sapply(df1$AIRLINE, getScore, df2$AIRLINE)
df3$STORES <- sapply(df1$STORES, getScore, df2$STORES)         
df3
  AIRLINE STORES
1    HIGH   HIGH
2    HIGH   HIGH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...