Простое решение для этого случая будет просто использовать table
#create some sample data
set.seed(1)
node1<-rep("oil drilling", 20)
node2<-sample(c("gas", "frack", "pollute", "good"),20,replace=T)
edglst<-data.frame(node1, node2)
head(edglist,10)
node1 node2
1 oil drilling frack
2 oil drilling frack
3 oil drilling pollute
4 oil drilling good
5 oil drilling gas
6 oil drilling good
7 oil drilling good
8 oil drilling pollute
9 oil drilling pollute
10 oil drilling gas
#use table to get a dataframe with one row per combination and its frequency
as.data.frame(table(edglst))
node1 node2 Freq
1 oil drilling frack 5
2 oil drilling gas 4
3 oil drilling good 6
4 oil drilling pollute 5
РЕДАКТИРОВАТЬ : Вам также может понадобиться удалить некоторые 0, если у вас есть несколько возможных комбинаций узловкоторые не встречаются в ваших данных, в этом случае
x<-as.data.frame(table(edglst))
x<-x[!x$Freq==0,]