Re: [R] [External] Package for "design graphs"

2021-08-19 Thread Rui Barradas

Hello,

Here is a igraph function to plot the graph as bipartite graph (which it 
is).
The reordering of the input dataframe columns, the order() call and 
vertex label distance value are a hack, and the plot could use the dots 
argument to allow the user to choose other custom graphics elements.

I post it mostly to show a graph theoretical solution is also possible.



library(igraph)

ig_DesignGraph <- function(x, vertex.size = 10, vertex.color = "black", 
edge.color = "gray"){

  g <- graph_from_data_frame(x[2:1], directed = FALSE)
  V(g)$type <- V(g)$name %in% x[[2]]
  V(g)$color <- V(g)$type
  V(g)$color <- gsub("FALSE", vertex.color, V(g)$color)
  V(g)$color <- gsub("TRUE", vertex.color, V(g)$color)
  L0 <- layout_as_bipartite(g)[, 2:1]
  i <- order(L0[, 1], L0[, 2])
  plot(
g,
edge.color = edge.color,
vertex.size = vertex.size,
vertex.label.dist = -3,
vertex.label.degree = pi*V(g)$type,
layout = -L0[i, ]
  )
}

ig_DesignGraph(expt1)
ig_DesignGraph(expt2)


Hope this helps,

Rui Barradas


Às 01:22 de 19/08/21, Richard M. Heiberger escreveu:

Thank you for the example.

Here is a simple function in base graphics that does what you ask for.

You can turn off the default borders and ticks and tick labels and xlab and 
ylab,
and add your own x tick labels, and then it will look exactly like the example 
you sent.

Rich


expt1 <- data.frame(from=c(1,1,2,2,3,3,4,4),
 to=c("A","B","A","B","C","D","C","D"))

expt2 <-  data.frame(from=c(1,1,2,2,3,3,4,4),
  to=c("A","B","B","C","C","D","D","A"))


DesignGraph <- function(x, pch.from=19, pch.to=19) {
   from <- unique(x$from)
   to <- unique(x$to)


   n.from <- length(from)
   n.to <- length(to)
   Nrows<- max(1:n.from, 1:n.to)

   plot(1 ~ 1, type="n", xlim=c(1-.5, 2+.5), ylim=c(Nrows, 1))

   points(x=rep(1, n.from), y=1:n.from, pch=pch.from)
   text(x=1-.3, y=1:n.from, labels=from)

   points(x=rep(2, n.to), y=1:n.to, pch=pch.to)
   text(x=2+.3, y=1:n.to, labels=to)

   index.from <- which
   index.to <- which

   segments(1, match(x$from, from), 2, match(x$to, to))
}

DesignGraph(expt1)

DesignGraph(expt2)







On Aug 18, 2021, at 10:29, mad...@gmail.com wrote:

I have attached a photo from our book

E. Hansen "Introduktion til matematisk statistik"

the numbers represent the labels of one factor while the letters
represent the labels of anothr factor.

.. Mads


On Tue, 2021-08-17 at 22:42 +, Richard M. Heiberger wrote:

can you post an example of the graph?

From: R-help  on behalf of
mad...@gmail.com 
Sent: Tuesday, August 17, 2021 16:02
To: r-help@r-project.org
Subject: [External] [R] Package for "design graphs"

Hi,

in our course littrature a "design graph" of two factors R and S with
associated maps s : I -> S and f : I -> S where I is some finite
index
set, is a graph with factor labeles as vertices and lines f(i) to
s(i)
for all observations i in I. Is there a package on CRAN that can draw
graphs like this automatically?

I haven't been able to find anyting by searching.

Regards, Mads

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-helpdata=04%7C01%7Crmh%40temple.edu%7Cf18619e1691a4333682a08d962549a74%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648937938659341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000sdata=0LTywXuQ5Y%2FymuUTKOQeeozEx4MpAnF9QavJBcd4FNE%3Dreserved=0
PLEASE do read the posting guide
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.htmldata=04%7C01%7Crmh%40temple.edu%7Cf18619e1691a4333682a08d962549a74%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648937938659341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000sdata=GT1zdL3%2BOAuVkXGGRMysbsfucmiIz6Dqozr6xyNbm8s%3Dreserved=0
and provide commented, minimal, self-contained, reproducible code.




__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] [External] Package for "design graphs"

2021-08-18 Thread David Winsemius
The only person who got the image was Richard. The rest of us got the 
posting from the list server which stripped you image. If it had been a 
pdf or png I think it might have survived the digital journey rather 
than being blown to bits.


On 8/18/21 7:29 AM, mad...@gmail.com wrote:

I have attached a photo from our book

E. Hansen "Introduktion til matematisk statistik"

the numbers represent the labels of one factor while the letters
represent the labels of anothr factor.

.. Mads


On Tue, 2021-08-17 at 22:42 +, Richard M. Heiberger wrote:

can you post an example of the graph?

From: R-help  on behalf of
mad...@gmail.com 
Sent: Tuesday, August 17, 2021 16:02
To: r-help@r-project.org
Subject: [External] [R] Package for "design graphs"
  
Hi,


in our course littrature a "design graph" of two factors R and S with
associated maps s : I -> S and f : I -> S where I is some finite
index
set, is a graph with factor labeles as vertices and lines f(i) to
s(i)
for all observations i in I. Is there a package on CRAN that can draw
graphs like this automatically?

I haven't been able to find anyting by searching.

Regards, Mads

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-helpdata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248735184%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=dNwMcJa6okIxlK97dprkVkCk4g5mn6hYsBr1Hez7m%2F8%3Dreserved=0
PLEASE do read the posting guide
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.htmldata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248745142%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=YZlqRVki%2FaQMdaGQgddyLLmAH3bCsnhPTuhlnrSb1PE%3Dreserved=0
and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] [External] Package for "design graphs"

2021-08-18 Thread Richard M. Heiberger
Thank you for the example.

Here is a simple function in base graphics that does what you ask for.

You can turn off the default borders and ticks and tick labels and xlab and 
ylab,
and add your own x tick labels, and then it will look exactly like the example 
you sent.

Rich


expt1 <- data.frame(from=c(1,1,2,2,3,3,4,4),
to=c("A","B","A","B","C","D","C","D"))

expt2 <-  data.frame(from=c(1,1,2,2,3,3,4,4),
 to=c("A","B","B","C","C","D","D","A"))


DesignGraph <- function(x, pch.from=19, pch.to=19) {
  from <- unique(x$from)
  to <- unique(x$to)


  n.from <- length(from)
  n.to <- length(to)
  Nrows<- max(1:n.from, 1:n.to)

  plot(1 ~ 1, type="n", xlim=c(1-.5, 2+.5), ylim=c(Nrows, 1))

  points(x=rep(1, n.from), y=1:n.from, pch=pch.from)
  text(x=1-.3, y=1:n.from, labels=from)

  points(x=rep(2, n.to), y=1:n.to, pch=pch.to)
  text(x=2+.3, y=1:n.to, labels=to)

  index.from <- which
  index.to <- which

  segments(1, match(x$from, from), 2, match(x$to, to))
}

DesignGraph(expt1)

DesignGraph(expt2)






> On Aug 18, 2021, at 10:29, mad...@gmail.com wrote:
> 
> I have attached a photo from our book 
> 
> E. Hansen "Introduktion til matematisk statistik"
> 
> the numbers represent the labels of one factor while the letters
> represent the labels of anothr factor.
> 
> .. Mads
> 
> 
> On Tue, 2021-08-17 at 22:42 +0000, Richard M. Heiberger wrote:
>> can you post an example of the graph?
>> 
>> From: R-help  on behalf of 
>> mad...@gmail.com 
>> Sent: Tuesday, August 17, 2021 16:02
>> To: r-help@r-project.org
>> Subject: [External] [R] Package for "design graphs"
>> 
>> Hi,
>> 
>> in our course littrature a "design graph" of two factors R and S with
>> associated maps s : I -> S and f : I -> S where I is some finite
>> index
>> set, is a graph with factor labeles as vertices and lines f(i) to
>> s(i)
>> for all observations i in I. Is there a package on CRAN that can draw
>> graphs like this automatically?
>> 
>> I haven't been able to find anyting by searching.
>> 
>> Regards, Mads
>> 
>> __
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-helpdata=04%7C01%7Crmh%40temple.edu%7Cf18619e1691a4333682a08d962549a74%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648937938659341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000sdata=0LTywXuQ5Y%2FymuUTKOQeeozEx4MpAnF9QavJBcd4FNE%3Dreserved=0
>> PLEASE do read the posting guide 
>> https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.htmldata=04%7C01%7Crmh%40temple.edu%7Cf18619e1691a4333682a08d962549a74%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648937938659341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000sdata=GT1zdL3%2BOAuVkXGGRMysbsfucmiIz6Dqozr6xyNbm8s%3Dreserved=0
>> and provide commented, minimal, self-contained, reproducible code.
> 

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] [External] Package for "design graphs"

2021-08-18 Thread madsmh
I have attached a photo from our book 

E. Hansen "Introduktion til matematisk statistik"

the numbers represent the labels of one factor while the letters
represent the labels of anothr factor.

.. Mads


On Tue, 2021-08-17 at 22:42 +, Richard M. Heiberger wrote:
> can you post an example of the graph?
> 
> From: R-help  on behalf of 
> mad...@gmail.com 
> Sent: Tuesday, August 17, 2021 16:02
> To: r-help@r-project.org
> Subject: [External] [R] Package for "design graphs"
>  
> Hi,
> 
> in our course littrature a "design graph" of two factors R and S with
> associated maps s : I -> S and f : I -> S where I is some finite
> index
> set, is a graph with factor labeles as vertices and lines f(i) to
> s(i)
> for all observations i in I. Is there a package on CRAN that can draw
> graphs like this automatically?
> 
> I haven't been able to find anyting by searching.
> 
> Regards, Mads
> 
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-helpdata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248735184%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=dNwMcJa6okIxlK97dprkVkCk4g5mn6hYsBr1Hez7m%2F8%3Dreserved=0
> PLEASE do read the posting guide 
> https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.htmldata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248745142%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=YZlqRVki%2FaQMdaGQgddyLLmAH3bCsnhPTuhlnrSb1PE%3Dreserved=0
> and provide commented, minimal, self-contained, reproducible code.
__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] [External] Package for "design graphs"

2021-08-17 Thread Richard M. Heiberger
can you post an example of the graph?


From: R-help  on behalf of mad...@gmail.com 

Sent: Tuesday, August 17, 2021 16:02
To: r-help@r-project.org
Subject: [External] [R] Package for "design graphs"

Hi,

in our course littrature a "design graph" of two factors R and S with
associated maps s : I -> S and f : I -> S where I is some finite index
set, is a graph with factor labeles as vertices and lines f(i) to s(i)
for all observations i in I. Is there a package on CRAN that can draw
graphs like this automatically?

I haven't been able to find anyting by searching.

Regards, Mads

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-helpdata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248735184%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=dNwMcJa6okIxlK97dprkVkCk4g5mn6hYsBr1Hez7m%2F8%3Dreserved=0
PLEASE do read the posting guide 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.htmldata=04%7C01%7Crmh%40temple.edu%7C00a59081bd66463e433d08d961b9e105%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637648273248745142%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=YZlqRVki%2FaQMdaGQgddyLLmAH3bCsnhPTuhlnrSb1PE%3Dreserved=0
and provide commented, minimal, self-contained, reproducible code.

[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.