各行が一連の学校を表すデータフレームがあります
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)
「学校」には必要なものが含まれていますが、4 番目の列 (「大学」など) を追加する場合は反復的で面倒になります。これを行うためのベクトル化された方法は何ですか?