1
我有以下數據幀稱爲DF,它是由三個向量組成的數據幀:「塊」「名稱」和「頻率」。我需要將它變成NameXName鄰接矩陣,其中名稱在它們駐留在相同塊中時被認爲是相鄰的。例如,在第一行中,Gretel和Friedrich相鄰,因爲它們都在Chunk2中。對於Gretel/Friedrich的例子,頻率(Gretel)+頻率(弗里德里希)-1 = 5,並且關係的權重應該基於「頻率」,即它們共同存在於相同塊中的次數。將數據幀中的分類數據轉換爲加權鄰接矩陣
Chunk Name Frequency
1 2 Gretel 2
2 2 Pollock 1
3 2 Adorno 1
4 2 Friedrich 4
5 3 Max 1
6 3 Horkheimer 1
7 3 Adorno 1
8 4 Friedrich 5
9 4 Pollock 1
10 4 March 1
11 5 Comte 3
12 7 Jaspers 1
13 7 Huxley 2
14 8 Nietzsche 1
15 8 Sade 2
16 8 Felix 1
17 8 Weil 1
18 8 Western 1
19 8 Lowenthal 1
20 8 Kant 1
21 8 Hitler 1
我開始分裂根據DF $塊的數據幀在這個破解,
> DF.split<-split(DF, DF$Chunk)
$`2`
Chunk Name Frequency
1 2 Gretel 2
2 2 Pollock 1
3 2 Adorno 1
4 2 Friedrich 4
$`3`
Chunk Name Frequency
5 3 Max 1
6 3 Horkheimer 1
7 3 Adorno 1
$`4`
Chunk Name Frequency
8 4 Friedrich 5
9 4 Pollock 1
10 4 March 1
而且我認爲他走近,但它返回我無法轉回到列表項可行的數據框架。
我也試圖把這個變成一個ChunkXName鄰接矩陣開始:
> chunkbyname<-tapply(DF$Frequency , list(DF$Name,DF$Chunk) , as.character)
與它的轉置,以獲得NAmeXName矩陣相乘chunkbyname的希望,但似乎這是矩陣太稀疏或複雜(%*%b中的錯誤:需要數值/複數矩陣/向量參數)。
任何幫助獲取此數據幀到鄰接矩陣非常讚賞。
是的。非常感謝! – Mon
很高興它以你想要的方式工作! – Henrik