Объединить два столбца один ко многим в г - PullRequest
0 голосов
/ 27 сентября 2018
d1 = c("2a", "3a") 

d2 = c("k1", "k2")

Теперь мне нужно создать столбец в новом векторе, скажем 'vec', примерно так:

vec = c("2a-k1", "2a-k2", "3a-k1", "3a-k2")

В основном мне просто нужен столбец, в котором каждая комбинация состоит из двух столбцов.Вариант слияния не помог.Любые советы высоко ценится.

1 Ответ

0 голосов
/ 27 сентября 2018

Я предполагаю опечатку в вашем vec, так как вы говорите, что каждая комбинация состоит из двух столбцов.Если это так, то это должно работать

x <- expand.grid(d1, d2, stringsAsFactors = FALSE)
x$d3 <- paste(x[,"Var1"], x[,"Var2"], sep = "-")


> x
  Var1 Var2    d3
1   2a   k1 2a-k1
2   3a   k1 3a-k1
3   2a   k2 2a-k2
4   3a   k2 3a-k2

Есть более элегантные способы сделать это с помощью dplyr и подобных.

...