행렬에서 네트워크를 생성해야하는 소셜 네트워크 분석 할당 작업을하고 있습니다. 나는 학생들이 공통적으로 가지고있는 수업에 의해 어떤 것이 연결되어 있는지를 보여주는 매트릭스를 만들려고 노력하고 있습니다 (개인 - 사람 매트릭스). 원본 데이터를 행렬의 첫 번째 반복에 맞춰서 이제 행렬에 곱하려고합니다. t (m) %의 *의 %의 m에서 오류 : 나는 행렬 곱셈 나는이 오류 메시지가 코드를 실행하면t() % * % "를 사용하면 R 오류 메시지가 숫자/복소수 행렬/벡터 인수가 필요합니다.
names <- c("Tom", "Dick", "And", "Harry")
class <- c("cs1", "cs2", "cs3", "cs1")
count <- c(1, 1, 0, 1)
df = data.frame (names, class, count)
df2 <- spread(df, "class", "count")
: 내 데이터 세트와 현재 행렬은 아래의 더 큰 버전입니다 필요 숫자/복잡한 매트릭스/벡터 인수.
m <- as.matrix(df2)
m2 <- t(m) %*% m
이전의는 SO 질문과 Matrix multiplication in R: requires numeric/complex matrix/vector arguments 숫자 또는 요소 값을 포함하는 데 필요한 매트릭스를 제안 답변, 그래서 아래의 코드를 추가하지만 동일한에게 오류 메시지가 있어요 :
df2 %>% mutate_if(is.factor, as.character) -> df2
m <- as.matrix(df2)
m2 <- t(m) %*% m
사람이 할 수있는 경우를 내가 잘못 가고있는 곳/오류 메시지가 의미하는 것이 무엇인지 이해하도록 도와주세요. 감사하게 생각합니다. 고맙습니다!
P. ... 추한 코드에 대한 죄송 R.
감사합니다! 그 트릭을 했어 - 더 이상 오류 메시지 :) – melonyn
Np. 제대로 작동했는지 체크 할 수 있습니다. 감사. – AidanGawronski