Я использую r для анализа ненаправленной сети людей с этнической принадлежностью в качестве атрибутов. Я хочу создать таблицу связующих учетных записей или «матрицу предпочтений», квадратную матрицу, где значения этничности распределены по обоим измерениям, и каждая ячейка сообщает вам, сколько связей соответствует этому типу отношений. (поэтому из этого вы можете рассчитать вероятность того, что одна группа выбрасывает связи с другой группой, но я просто хочу использовать ее в качестве аргумента в функции предпочтения igraph). вот что я пробовал:Создать матрицу предпочтений в R?
# I create a variable for ethnicity by assigning the names of my vertices to their corresponding ethnicities
eth <- atts$Ethnicity[match(V(mahmudNet)$name,atts$Actor)]
# I create an adjacency matrix from my network data
mat <- as.matrix(get.adjacency(mahmudNet))
# I create the dimensions for my preference matrix from the Ethnicity values
eth.value <- unique(sort(eth))
# I create an empty matrix using these dimensions
eth.mat <- array(NA,dim=c(length(eth.value),length(eth.value)))
# I create a function that will populate the empty cells of the matrix
for (i in eth.value){
for (j in eth.value){
eth.mat[i,j] <- sum(mat[eth==i,eth==j])
}
}
Моя проблема в конце, я думаю. Мне нужно выяснить выражение, которое сообщает R, как заполнять ячейки. выражение я ставлю, кажется, не работает, но я хочу, так что потенциально я мог бы пойти
a <- sum(mat[eth=="White", eth=="Black"])
А потом «а» вернет сумму всех ячеек в матрице смежности, которые соответствуют Уайту -Белые отношения.
Вот пример моих данных:
# data frame with Ethnicity attributes:
Actor Ethnicity
1 Sultan Mahmud of Siak 2
2 Daeng Kemboja 1
3 Raja Kecik of Trengganu 1
4 Raja Alam 2
5 Tun Dalam 2
6 Raja Haji 1
7 The Suliwatang 1
8 Punggawa Miskin 1
9 Tengku Selangor 1
10 Tengku Raja Said 1
11 Datuk Bendahara 2
12 VOC 3
13 King of Selangor 1
14 Dutch at Batavia 3
15 Punggawa Tua 2
16 Raja Tua Encik Andak 1
17 Raja Indera Bungsu 2
18 Sultan of Jambi 2
19 David Boelen 3
20 Datuk Temenggong 2
21 Punggawa Opu Nasti 1
# adjacency matrix with relations
Daeng Kemboja Punggawa Opu Nasti Raja Haji Daeng Cellak
Daeng Kemboja 0 1 1 1
Punggawa Opu Nasti 1 0 1 0
Raja Haji 1 1 0 0
Daeng Cellak 1 0 0 0
Daeng Kecik 1 0 0 0
Daeng Kecik
Daeng Kemboja 1
Punggawa Opu Nasti 0
Raja Haji 0
Daeng Cellak 0
Daeng Kecik 0
Какой пакет '' get.adjacency' и V'? Или это ваши собственные функции. – C8H10N4O2
Это все в igraph. V (mahudnet) $ name - это переменная, относящаяся к именам вершин в моем сетевом объекте. – Audrey