Соединение с нестандартным именем столбца в конвейере dplyr - PullRequest
1 голос
/ 17 мая 2019

Я знаю, как присоединиться так:

library(dplyr)

d1 <- data_frame(
  x = letters[1:3],
  y = LETTERS[1:3],
  a = rnorm(3)
  )

d2 <- data_frame(
  x2 = letters[3:1],
  y2 = LETTERS[3:1],
  b = rnorm(3)
  )

left_join(d1, d2, by = c("x" = "x2", "y" = "y2"))

Что я могу сделать, когда вызывается столбец y2:

bla y2

Я пробовал разные подходы без успеха:

left_join(d1, d2, by = c("x" = "x2", "y" = "bla y2"))
left_join(d1, d2, by = c("x" = "x2", "y" = "`bla y2`"))
left_join(d1, d2, by = c("x" = "x2", "y" = `bla y2`))

1 Ответ

0 голосов
/ 17 мая 2019

В R вы всегда можете указать имя столбца с обратными галочками, например:

`bla y2`

Но вам не нужно делать это при передаче имен столбцов в left_join.Это должно работать:

library(dplyr)

d1 <- data_frame(
  x = letters[1:3],
  y = LETTERS[1:3],
  a = rnorm(3)
)

d2 <- data_frame(
  x2 = letters[3:1],
  `bla y2` = LETTERS[3:1],
  b = rnorm(3)
)

left_join(d1, d2, by = c("x" = "x2", "y" = "bla y2"))

Возвращает:

# A tibble: 3 x 4
  x     y          a      b
  <chr> <chr>  <dbl>  <dbl>
1 a     A      0.349  0.629
2 b     B     -0.208  0.547
3 c     C     -0.562 -1.16 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...