다음 시작점과 종점 데이터를 가지고 어떻게 2 점 사이의 경로를 얻을 수 있습니까?두 점 사이의 경로 찾기 R
> ddf
start end
1 a b
2 a c
3 b e
4 b f
5 b c
6 a d
7 e f
8 f g
> dput(ddf)
structure(list(start = structure(c(1L, 1L, 2L, 2L, 2L, 1L, 3L,
4L), .Label = c("a", "b", "e", "f"), class = "factor"), end = structure(c(1L,
2L, 4L, 5L, 2L, 3L, 5L, 6L), .Label = c("b", "c", "d", "e", "f",
"g"), class = "factor")), .Names = c("start", "end"), class = "data.frame", row.names = c(NA,
-8L))
>
이 페이지 (http://www.anselm.edu/homepage/mmalita/culpro/graf1.html)는 프롤로그 단 2 줄 용액을 보여준다! 다음 코드는 작동하지만 올바른 출력 목록을 제공하지 않습니다. mainpath (ddf, 'a', 'f')로 시작하여 'a'와 'f'사이의 경로를 찾을 수 있습니다.
특히 많이 개선 될 수 있다고 확신합니다. 특히 이러한 for 루프 등은 모두 적용 기능을 사용하여 제거 할 수 있습니다. 그러한 기능을 가진 패키지는 사용 가능하지만 기본 R에서 어떻게 수행 될 수 있는지 알고 있습니까? 답변/의견을 보내 주시면 감사하겠습니다.
예를 들어'mainpath (ddf, "a", "g")'는 무엇을 반환합니까? 'mainpath' 또는 좀 더 구체적으로 기대되는 출력과 같은 것을 제공 할 수 있습니까? –
"a"와 "g"사이의 경로를 찾는 시작 지점입니다. – rnso
그래프 접근 방식을 시도해보십시오 :'library (igraph); –