다음 데이터 프레임이 있는데, "청크", "이름"및 "빈도"의 세 가지 벡터로 구성된 데이터 프레임 인 DF입니다. 이름이 같은 청크에있을 때 이름이 인접한 것으로 간주되는 NameXName 인접 행렬로 변환해야합니다. 예를 들어, 첫 번째 라인에서 Gretel과 Friedrich는 둘 다 Chunk2에 있기 때문에 인접 해 있습니다. 그리고 그 관계의 무게는 "빈도"에 기반해야합니다. 정확히 같은 청크 안에있는 횟수입니다. 그레텔/프리드리히 예제에서는 빈도 (그레텔) + 빈도 (프리드리히) -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의 인접 행렬이 점을 설정하여 시작하려고 한 다음 NAmeXName 행렬을 얻을 수는 전치에 의해 chunkbyname를 곱하여의 희망과
> chunkbyname<-tapply(DF$Frequency , list(DF$Name,DF$Chunk) , as.character)
하지만,이 행렬이 너무 것 같다 스파 스 또는 복잡한 (% * % b 오류 : 숫자/복합 행렬/벡터 인수 필요).
이 데이터 프레임을 인접성 매트릭스로 가져 오는 데 도움을 주시면 크게 감사하겠습니다.
예. 정말 고맙습니다! – Mon
당신이 원했던 방식으로 효과가 있었기 때문에 기쁩니다! – Henrik