Hello,
I have a code like this:
mds <- (ar_diff) %>% dist() %>% cmdscale(k=3) %>% as_tibble()
mds$cols <- as.factor(c(rep("nPDR.rg",7),
rep("PDR.rg",8), rep("NoD.rg",7)))
pdf(file = "RG.pdf")
for (dim1 in 1:2){
for (dim2 in (dim1+1):3){
d1 = paste0("Dim.",dim1); d2 = paste0("Dim.",dim2)
colnames(mds)[c(dim1,dim2)] <- c(d1,d2)
print(colnames(mds))
print(ggscatter(mds, x = d1, y = d2, color ="cols" ,size=3
,palette=c("blue","red","green")))
}
}
dev.off()
How do I run the same plot but excluding NoD.rg? What do I need to
change in this for loop?
> head(mds)
# A tibble: 6 x 4
Dim.1 Dim.2 Dim.3 cols
<dbl> <dbl> <dbl> <fct>
1 1.41 -0.984 -0.870 nPDR.rg
2 0.184 1.11 0.101 nPDR.rg
3 0.394 -0.159 0.0272 nPDR.rg
4 -0.490 -0.326 0.535 nPDR.rg
5 0.635 -0.112 -0.0503 nPDR.rg
6 -0.723 0.153 -0.245 nPDR.rg
> tail(mds)
# A tibble: 6 x 4
Dim.1 Dim.2 Dim.3 cols
<dbl> <dbl> <dbl> <fct>
1 0.760 -0.732 0.568 NoD.rg
2 -0.0918 0.645 -0.189 NoD.rg
3 -0.336 0.756 0.120 NoD.rg
4 -0.439 -0.557 0.556 NoD.rg
5 -1.90 -0.858 -0.949 NoD.rg
6 0.631 -0.0930 1.43 NoD.rg
Thanks
Ana
I must admit that I do not understand what you are doing but can you notm
just subset the data?
Note I am using a data.frame not a tibble. It would be helpful if you
could supply sample data in dput() forest.
library("ggpubr")
mds <- structure(list(Dim.1 = c(0.41, 0.184, 0.394, -0.49, 0.635, -0.723,
0.76, -0.0918, -0.336, -0.439, -1.9, 0.631), Dim.2 = c(-0.984,
1.11, -0.159, -0.326, -0.112, 0.153, -0.732, 0.645, 0.756, -0.557,
-0.858, -0.093), Dim.3 = c(-0.87, 0.101, 0.0272, 0.535, -0.0503,
-0.245, 0.568, -0.189, 0.12, 0.556, -0.949, 1.43), cols = c("nPDR.rg",
"nPDR.rg", "nPDR.rg", "nPDR.rg",
"nPDR.rg", "nPDR.rg", "NoD.rg",
"NoD.rg", "NoD.rg", "NoD.rg", "NoD.rg",
"NoD.rg")), class = "data.frame",
row.names = c(NA,
-12L))
mm1 <- subset(mds, cols =="nPDR.rg")
ggscatter(mds, x = d1, y = d2, size=3, color = "red")
On Mon, 10 Feb 2020 at 14:04, Ana Marija <sokovic.anamarija at gmail.com>
wrote:
> Hello,
>
> I have a code like this:
>
> mds <- (ar_diff) %>% dist() %>% cmdscale(k=3) %>% as_tibble()
> mds$cols <- as.factor(c(rep("nPDR.rg",7),
rep("PDR.rg",8),
> rep("NoD.rg",7)))
>
> pdf(file = "RG.pdf")
>
>
> for (dim1 in 1:2){
> for (dim2 in (dim1+1):3){
> d1 = paste0("Dim.",dim1); d2 = paste0("Dim.",dim2)
> colnames(mds)[c(dim1,dim2)] <- c(d1,d2)
> print(colnames(mds))
> print(ggscatter(mds, x = d1, y = d2, color ="cols" ,size=3
> ,palette=c("blue","red","green")))
> }
> }
> dev.off()
>
> How do I run the same plot but excluding NoD.rg? What do I need to
> change in this for loop?
>
> > head(mds)
> # A tibble: 6 x 4
> Dim.1 Dim.2 Dim.3 cols
> <dbl> <dbl> <dbl> <fct>
> 1 1.41 -0.984 -0.870 nPDR.rg
> 2 0.184 1.11 0.101 nPDR.rg
> 3 0.394 -0.159 0.0272 nPDR.rg
> 4 -0.490 -0.326 0.535 nPDR.rg
> 5 0.635 -0.112 -0.0503 nPDR.rg
> 6 -0.723 0.153 -0.245 nPDR.rg
>
> > tail(mds)
> # A tibble: 6 x 4
> Dim.1 Dim.2 Dim.3 cols
> <dbl> <dbl> <dbl> <fct>
> 1 0.760 -0.732 0.568 NoD.rg
> 2 -0.0918 0.645 -0.189 NoD.rg
> 3 -0.336 0.756 0.120 NoD.rg
> 4 -0.439 -0.557 0.556 NoD.rg
> 5 -1.90 -0.858 -0.949 NoD.rg
> 6 0.631 -0.0930 1.43 NoD.rg
>
> Thanks
> Ana
>
> ______________________________________________
> R-help at 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.
>
--
John Kane
Kingston ON Canada
[[alternative HTML version deleted]]
Hi, Thanks for getting back to me. I need to have there two groups: "nPDR.rg and "PDR.rg" can you please let me know how my loop would look like just with those two groups? Thanks Ana On Mon, Feb 10, 2020 at 2:03 PM John Kane <jrkrideau at gmail.com> wrote:> > I must admit that I do not understand what you are doing but can you notm just subset the data? > Note I am using a data.frame not a tibble. It would be helpful if you could supply sample data in dput() forest. > > library("ggpubr") > mds <- structure(list(Dim.1 = c(0.41, 0.184, 0.394, -0.49, 0.635, -0.723, > 0.76, -0.0918, -0.336, -0.439, -1.9, 0.631), Dim.2 = c(-0.984, > 1.11, -0.159, -0.326, -0.112, 0.153, -0.732, 0.645, 0.756, -0.557, > -0.858, -0.093), Dim.3 = c(-0.87, 0.101, 0.0272, 0.535, -0.0503, > -0.245, 0.568, -0.189, 0.12, 0.556, -0.949, 1.43), cols = c("nPDR.rg", > "nPDR.rg", "nPDR.rg", "nPDR.rg", "nPDR.rg", "nPDR.rg", "NoD.rg", > "NoD.rg", "NoD.rg", "NoD.rg", "NoD.rg", "NoD.rg")), class = "data.frame", row.names = c(NA, > -12L)) > > mm1 <- subset(mds, cols =="nPDR.rg") > ggscatter(mds, x = d1, y = d2, size=3, color = "red") > > On Mon, 10 Feb 2020 at 14:04, Ana Marija <sokovic.anamarija at gmail.com> wrote: >> >> Hello, >> >> I have a code like this: >> >> mds <- (ar_diff) %>% dist() %>% cmdscale(k=3) %>% as_tibble() >> mds$cols <- as.factor(c(rep("nPDR.rg",7), rep("PDR.rg",8), rep("NoD.rg",7))) >> >> pdf(file = "RG.pdf") >> >> >> for (dim1 in 1:2){ >> for (dim2 in (dim1+1):3){ >> d1 = paste0("Dim.",dim1); d2 = paste0("Dim.",dim2) >> colnames(mds)[c(dim1,dim2)] <- c(d1,d2) >> print(colnames(mds)) >> print(ggscatter(mds, x = d1, y = d2, color ="cols" ,size=3 >> ,palette=c("blue","red","green"))) >> } >> } >> dev.off() >> >> How do I run the same plot but excluding NoD.rg? What do I need to >> change in this for loop? >> >> > head(mds) >> # A tibble: 6 x 4 >> Dim.1 Dim.2 Dim.3 cols >> <dbl> <dbl> <dbl> <fct> >> 1 1.41 -0.984 -0.870 nPDR.rg >> 2 0.184 1.11 0.101 nPDR.rg >> 3 0.394 -0.159 0.0272 nPDR.rg >> 4 -0.490 -0.326 0.535 nPDR.rg >> 5 0.635 -0.112 -0.0503 nPDR.rg >> 6 -0.723 0.153 -0.245 nPDR.rg >> >> > tail(mds) >> # A tibble: 6 x 4 >> Dim.1 Dim.2 Dim.3 cols >> <dbl> <dbl> <dbl> <fct> >> 1 0.760 -0.732 0.568 NoD.rg >> 2 -0.0918 0.645 -0.189 NoD.rg >> 3 -0.336 0.756 0.120 NoD.rg >> 4 -0.439 -0.557 0.556 NoD.rg >> 5 -1.90 -0.858 -0.949 NoD.rg >> 6 0.631 -0.0930 1.43 NoD.rg >> >> Thanks >> Ana >> >> ______________________________________________ >> R-help at 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. > > > > -- > John Kane > Kingston ON Canada
Hello, In the loop, try filtering out the values you do not want. Any of print(ggscatter(mds %>% dplyr::filter(cols != "NoD.rg"), etc)) print(ggscatter(subset(mds, cols != "NoD.rg"), etc)) tmp <- mds %>% filter(cols != "NoD.rg") print(ggscatter(tmp, etc)) The first two will create a temporary df, the 3rd a permanent one. Remove it after the loop: rm(tmp) Hope this helps, Rui Barradas ?s 19:09 de 10/02/20, Ana Marija escreveu:> Hello, > > I have a code like this: > > mds <- (ar_diff) %>% dist() %>% cmdscale(k=3) %>% as_tibble() > mds$cols <- as.factor(c(rep("nPDR.rg",7), rep("PDR.rg",8), rep("NoD.rg",7))) > > pdf(file = "RG.pdf") > > > for (dim1 in 1:2){ > for (dim2 in (dim1+1):3){ > d1 = paste0("Dim.",dim1); d2 = paste0("Dim.",dim2) > colnames(mds)[c(dim1,dim2)] <- c(d1,d2) > print(colnames(mds)) > print(ggscatter(mds, x = d1, y = d2, color ="cols" ,size=3 > ,palette=c("blue","red","green"))) > } > } > dev.off() > > How do I run the same plot but excluding NoD.rg? What do I need to > change in this for loop? > >> head(mds) > # A tibble: 6 x 4 > Dim.1 Dim.2 Dim.3 cols > <dbl> <dbl> <dbl> <fct> > 1 1.41 -0.984 -0.870 nPDR.rg > 2 0.184 1.11 0.101 nPDR.rg > 3 0.394 -0.159 0.0272 nPDR.rg > 4 -0.490 -0.326 0.535 nPDR.rg > 5 0.635 -0.112 -0.0503 nPDR.rg > 6 -0.723 0.153 -0.245 nPDR.rg > >> tail(mds) > # A tibble: 6 x 4 > Dim.1 Dim.2 Dim.3 cols > <dbl> <dbl> <dbl> <fct> > 1 0.760 -0.732 0.568 NoD.rg > 2 -0.0918 0.645 -0.189 NoD.rg > 3 -0.336 0.756 0.120 NoD.rg > 4 -0.439 -0.557 0.556 NoD.rg > 5 -1.90 -0.858 -0.949 NoD.rg > 6 0.631 -0.0930 1.43 NoD.rg > > Thanks > Ana > > ______________________________________________ > R-help at 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. >