Browse Source

Merge branch 'main' of https://git.ratg.cat/marcelcosta/CitFuns into main

main
Marcel Costa 2 years ago
parent
commit
d49b1b2226
3 changed files with 21 additions and 9 deletions
  1. +10
    -6
      R/ggheatmap.R
  2. +2
    -1
      man/ggheatmap.Rd
  3. +9
    -2
      vignettes/citfuns.Rmd

+ 10
- 6
R/ggheatmap.R

@ -1,10 +1,10 @@
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, scale="none"){
ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, scale="none",color="#FFFFFF00"){
if (is.null(x)){x=colnames(df)[1]}
if (is.null(y)){y=colnames(df)[2]}
if (is.null(value)){value=colnames(df)[3]}
df<-rename(df, "VarX"=all_of(x), "VarY"=all_of(y), "Value"=all_of(value))
if (is.null(exclude_group)){
df<-df %>% group_by(VarX,VarY)
}else{
@ -17,7 +17,7 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro
df<-df %>% summarise(Value=median(Value)) %>% ungroup
}
order<-clustsort(df %>% spread(VarY,Value) %>% select(!all_of(exclude_group)) %>% as.data.frame)
if (scale != "none"){
if (scale == "rows"){
cols<-unique(df$VarY)
@ -32,12 +32,16 @@ ggheatmap<-function(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_gro
df<-gather(sca.df, VarX, Value, all_of(cols))
}
}
df$VarX<-factor(df$VarX, levels=order$x)
df$VarY<-factor(df$VarY, levels=order$y)
df %>%
ggplot(aes(VarX, VarY, fill=Value))+
labs(x=x, y=y)+
theme_heatmap()
geom_tile(aes(fill=Value), color=color)+
scale_fill_gradientn(colors=col2(200))+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust=0.5),
panel.background = element_blank(),
axis.ticks = element_blank())
}

+ 2
- 1
man/ggheatmap.Rd

@ -2,7 +2,7 @@
\alias{ggheatmap}
\title{ggheatmap}
\usage{
ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, scale="none")
ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, scale="none", color="#FFFFFF00")
}
\arguments{
\item{df}{A data frame in "long" format.}
@ -12,6 +12,7 @@ ggheatmap(df, x=NULL, y=NULL, value=NULL, grouping="mean", exclude_group=NULL, s
\item{grouping}{The function that will be used to group if there is more than one observation for each X-Y combination. "mean" or "median" are posible, defaulting to "mean".}
\item{exclude_group}{If you want to exclude columns from grouping, you can introduce a character vector here. Useful if you want to facet the plot.}
\item{scale}{Escales (z-score) by "rows" or "cols" if diferent of "none" (default).}
\item{color}{The color of the lines of geom_tile (the border). By default, its transparent.}
}
\description{
Generates a heatmap using ggplot for a dataframe.

+ 9
- 2
vignettes/citfuns.Rmd

@ -28,7 +28,7 @@ You will also need [Git](https://git-scm.com/downloads) installed in your comput
Now we are ready to install CitFuns package:
```{r, eval=F}
devtools::install_git("https://git.ratg.cat/marcelcosta/CitFuns.git")
devtools::install_git("https://git.ratg.cat/marcelcosta/CitFuns.git", build_vignettes = T)
```
## Update
@ -123,8 +123,15 @@ By default, ggcorrplot converts the p-value into *star* significance equivalence
ggcorrplot(df, var = "Cyt", value = "Value", color = "white", stat="pval")
```
ggcorrplot uses "pearson" by default to obtain a correlation coeficient, although "spearman" is also available.
```{r, fig.width=5, fig.height=4}
ggcorrplot(df, var = "Cyt", value = "Value", color = "white", stat="pval", method="spearman")
```
Finally, you can show only the upper part or the lower part of the specular matrix.
```{r, fig.width=5, fig.height=4}
ggcorrplot(df, var = "Cyt", value = "Value", color = "black", tri="lower")
```
```

Loading…
Cancel
Save