Bazı ağ görselleştirme tekniklerini test etmekle ilgileniyorum, ancak bu işlevleri denemeden önce, aşağıdaki gibi bir veri tabanı kullanarak bir bitişik matris oluşturmak istiyorum.r Bir veri çerçevesindeki sütunlardan bir bitişiklik matrisi oluşturma
Id Gender Col_Cold_1 Col_Cold_2 Col_Cold_3 Col_Hot_1 Col_Hot_2 Col_Hot_3
10 F pain sleep NA infection medication walking
14 F Bump NA muscle NA twitching flutter
17 M pain hemoloma Callus infection
18 F muscle pain twitching medication
Amacım, pain, sleep, Bump, muscle, hemaloma
anahtar kelime Soğuk ile sütunların altında hücre değerleri ve onlar gibi satır ve hücre değerlerini oluşturacak Örneğin
1) All values in columns with keyword Cold will contribute to the rows
2) All values in columns with keyword Hot will contribute to the columns
şöyle bir bitişiklik matrisi oluşturmaktır infection, medication, Callus, walking, twitching, flutter
, Hot anahtar sözcükleriyle sütunların altındadır ve bu, ilişkilendirme matrisinin sütunlarını oluşturacaktır.
arzu edilen nihai çıktısı aşağıdaki gibi görünmelidir:
infection medication walking twitching flutter Callus
pain 2 2 1 1 1
sleep 1 1 1
Bump 1 1
muscle 1 1
hemaloma 1 1
[pain, infection]
= 2 ağrı ve enfeksiyon arasındaki ilişki, orijinal dataframe iki kez oluşur: satır 3 kez daha satır 1 ve.[pain, medication]
= 2, ağrı ve ilaç arasındaki ilişki satır 1 iki kez olduğu ve daha üst üste çünkü 4.
Böyle bir ilişkilendirme matrisini oluşturmaya yönelik herhangi bir öneri veya öneriniz için teşekkür ederiz.
tekrarlanabilir Veri kümesi
df = structure(list(id = c(10, 14, 17, 18), Gender = structure(c(1L, 1L, 2L, 1L), .Label = c("F", "M"), class = "factor"), Col_Cold_1 = structure(c(4L, 2L, 1L, 3L), .Label = c("", "Bump", "muscle", "pain"), class = "factor"), Col_Cold_2 = structure(c(4L, 2L, 3L, 1L), .Label = c("", "NA", "pain", "sleep"), class = "factor"), Col_Cold_3 = structure(c(1L, 3L, 2L, 4L), .Label = c("NA", "hemaloma", "muscle", "pain"), class = "factor"), Col_Hot_1 = structure(c(4L, 3L, 2L, 1L), .Label = c("", "Callus", "NA", "infection"), class = "factor"), Col_Hot_2 = structure(c(2L, 3L, 1L, 3L), .Label = c("infection", "medication", "twitching"), class = "factor"), Col_Hot_3 = structure(c(4L, 2L, 1L, 3L), .Label = c("", "flutter", "medication", "walking"), class = "factor")), .Names = c("id", "Gender", "Col_Cold_1", "Col_Cold_2", "Col_Cold_3", "Col_Hot_1", "Col_Hot_2", "Col_Hot_3"), row.names = c(NA, -4L), class = "data.frame")
zaten bitişiklik matrisleri oluşturma konusunda bilgi bir ton var: [on] (http://stackoverflow.com
Son olarak, istenilen çıktıyı yapmak için
xtabs
kullanmak/a/14850986/1152809), [iki] (https://www.r-bloggers.com/graph-from-sparse-adjacency-matrix/), [three (pdf)] (https://www.google com/uRL Sa = t RCT = j q = & ESRC = s ve kaynak = web ve cD = 11 & ved = 0ahUKEwimt5nt-P7QAhVr64MKHUdpDgEQFghWMAo ve uRL = http% 3A% 2F% 2Fwww.londonr.org% 2Fdownload% 2F% 3Fid% 3D97 ve USG = AFQjCNFemmTxQFHFidF4mzLWZWw43yuqmA & sig2 = SC6hY1bLpOjmiEwvsxOfUw). Ne denedin? Çalışılan –