У меня есть кадр данных с каждой строкой, представляющей последовательность школ
edu <- read.table(header=TRUE, text="Elem Mid High
e1 m1 h1
e2 m2 h2
e1 m2 h2
e3 m1 h1")
Я хотел бы преобразовать это в список ребер
s1 s2
1 e1 m1
2 e2 m2
3 e1 m2
4 e3 m1
5 m1 h1
6 m2 h2
7 m2 h2
8 m1 h1
для ориентированного графа (через пакет igraph).
Вот как я это делаю:
e2m <- edu[,1:2]
m2h <- edu[,2:3]
colnames(e2m) <- c("s1", "s2")
colnames(m2h) <- c("s1", "s2")
schools <- rbind(e2m,m2e)
"школы" содержат то, что я хочу, но оно итеративно и становится громоздким, если я хочу добавить четвертый столбец (например, "Uni" ). Что такое векторный способ сделать это?