我有以下代码:
library(gplots)
library(RColorBrewer);
setwd("~/Desktop")
mydata <- mtcars
hclustfunc <- function(x) hclust(x, method="complete")
distfunc <- function(x) dist(x,method="euclidean")
d <- distfunc(mydata)
fit <- hclustfunc(d)
clusters <- cutree(fit, h=100)
nofclust.height <- length(unique(as.vector(clusters)));
# Colorings
hmcols <- rev(redgreen(2750))
selcol <- colorRampPalette(brewer.pal(12,"Set3"))
selcol2 <- colorRampPalette(brewer.pal(9,"Set1"))
clustcol.height = selcol2(nofclust.height);
heatmap.2(as.matrix(mydata),
trace='none',
dendrogram='both',
key=F,
Colv=T,
scale='row',
hclust=hclustfunc, distfun=distfunc, col=hmcols,
symbreak=T,
margins=c(7,10), keysize=0.1,
lwid=c(5,0.5,3), lhei=c(0.05,0.5),
lmat=rbind(c(5,0,4),c(3,1,2)),
labRow=rownames(mydata),
#ColSideColors=clustcol.height[clusters], # This line doesn't work
RowSideColors=clustcol.height[clusters])
Run Code Online (Sandbox Code Playgroud)
其中产生如下图:

我想要做的是在行和列上执行聚类,并在树形图旁边显示聚类条(RowSideColors和ColSideColors).我怎样才能做到这一点?
目前我只是成功RowSideColors 而不是那个ColSideColors.
我有以下数据:
> dat
ID Gene Value1 Value2
1 NM_013468 Ankrd1 Inf Inf
2 NM_023785 Ppbp Inf Inf
3 NM_178666 Themis NaN Inf
4 NM_001161790 Mefv Inf Inf
5 NM_001161791 Mefv Inf Inf
6 NM_019453 Mefv Inf Inf
7 NM_008337 Ifng Inf Inf
8 NM_022430 Ms4a8a Inf Inf
9 PBANKA_090410 Rab6 NaN Inf
10 NM_011328 Sct Inf Inf
11 NM_198411 Inf2 1.152414 1.445595
12 NM_177363 Tarm1 NaN Inf
13 NM_001136068 Klrc1 NaN Inf
14 NM_019418 Tnfsf14 Inf Inf
15 NM_010652 Klrc1 …Run Code Online (Sandbox Code Playgroud) 我有以下情节:
使用以下数量的样本创建模型:
class1 class2
train 20 20
validate 21 13
Run Code Online (Sandbox Code Playgroud)
根据我的理解,情节显示没有过度拟合.但我认为,由于样本非常小,我不确定该模型是否足够通用.
除上述情节外,还有其他方法可以测量过度拟合吗?
这是我的完整代码:
library(keras)
library(tidyverse)
train_dir <- "data/train/"
validation_dir <- "data/validate/"
# Making model ------------------------------------------------------------
conv_base <- application_vgg16(
weights = "imagenet",
include_top = FALSE,
input_shape = c(150, 150, 3)
)
# VGG16 based model -------------------------------------------------------
# Works better with regularizer
model <- keras_model_sequential() %>%
conv_base() %>%
layer_flatten() %>%
layer_dense(units = 256, activation = "relu", kernel_regularizer = regularizer_l1(l = 0.01)) %>%
layer_dense(units = 1, activation = "sigmoid")
summary(model)
length(model$trainable_weights)
freeze_weights(conv_base)
length(model$trainable_weights) …Run Code Online (Sandbox Code Playgroud) 我有一个数据,我想绘制一个热图,只有列的树状图聚类.我怎样才能做到这一点?
数据只包含一行但包含多列.请注意,我确实希望列上的集群而不是将其转换为行集群.
这是我的代码,但没有用.
library(gplots)
library(RColorBrewer)
dat.all <- structure(list(Probes = structure(1L, .Label = "1419598_at", class = "factor"),
XXX_LV_06.ip = 0.985, XXX_SP_06.ip = 0.932, XXX_LN_06.id = 2.115,
XXX_LV_06.id = 1.753, XXX_SP_06.id = 2.668, ZZZ_KD_06.ip = 10.079,
ZZZ_LG_06.ip = 2.323, ZZZ_LV_06.ip = 2.119, ZZZ_SP_06.ip = 4.157,
ZZZ_LN_06.id = 1.371, ZZZ_LV_06.id = 1.825, ZZZ_SP_06.id = 1.457,
ZZZ_KD_24.ip = 0L, ZZZ_LG_24.ip = 1.049, ZZZ_LV_24.ip = 1.372,
ZZZ_SP_24.ip = 1.83, AAA_LN_06.id = 1.991, AAA_LV_06.ip = 2.555,
AAA_SP_06.ip = 4.209, AAA_LV_06.id = 1.375, AAA_SP_06.id = 0.75,
GGG_LV_06.ip …Run Code Online (Sandbox Code Playgroud) 我有以下数据:
df <- structure(list(TPR = c(0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14,
0.16, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36,
0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58,
0.6, 0.62, 0.64, 0.64, 0.64, 0.66, 0.68, 0.7, 0.72, 0.74, 0.76,
0.78, 0.8, 0.8, 0.82, 0.82, 0.84, 0.84, 0.84, 0.86, 0.86, 0.86,
0.86, 0.88, 0.88, 0.9, 0.92, 0.92, 0.92, 0.92, 0.94, 0.94, 0.96,
0.96, 0.96, 0.96, 0.96, 0.96, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98,
0.98, 0.98, …Run Code Online (Sandbox Code Playgroud) 我有以下Rmarkdown代码,它使用Hadley的emo(ji)包.
---
title: "My First Shiny"
runtime: shiny
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: scroll
---
```{r setup, include=FALSE}
```
Rows {data-height=800}
-----------------------------------------------------------------------
### Section1 `r strrep(emo::ji("heart_eyes_cat"), 5)`
Some text
Run Code Online (Sandbox Code Playgroud)
在我的Rstudio IDE中,生成这个没有问题:
由于图像中的高度表现,表情符号未能出现在我当地的Shiny-server中.
我该如何启用它?
我有以下脚本:
library("gplots")
mydata <- mtcars
mydata.nr <- nrow(mydata)
mydata.newval <- data.frame(row.names=rownames(mydata),new.val=-log(runif(mydata.nr)))
# Functions
hclustfunc <- function(x) hclust(x, method="complete")
distfunc <- function(x) dist(x,method="euclidean")
# Set colors
hmcols <- rev(redgreen(256));
# Plot the scaled data
heatmap.2(as.matrix(mydata),dendrogram="row",scale="row",col=hmcols,trace="none", margin=c(8,9), hclust=hclustfunc,distfun=distfunc);
Run Code Online (Sandbox Code Playgroud)
其中生成以下热图:

现在给出一个新的data.frame,其中包含每辆车的新值:
mydata.nr <- nrow(mydata)
mydata.newval <- data.frame(row.names=rownames(mydata),new.val=-log(runif(mydata.nr)))
Run Code Online (Sandbox Code Playgroud)
我想创建一个单列热图,其中渐变灰色位于行名旁边.如何在R heatmap中实现这一点?
我有以下向量:
mylist <- c("MBT.LN.ID", "ISA51VG.LN.ID", "R848.LN.ID", "sHz.LN.ID", "FK565.LN.ID",
"bCD.LN.ID", "MALP2s.LN.ID", "ADX.LN.ID", "AddaVax.LN.ID", "FCA.LN.ID",
"Pam3CSK4.LN.ID", "D35.LN.ID", "ALM.LN.ID", "K3.LN.ID", "K3SPG.LN.ID",
"MPLA.LN.ID", "DMXAA.LN.ID", "cGAMP.LN.ID", "Poly_IC.LN.ID",
"cdiGMP.LN.ID")
Run Code Online (Sandbox Code Playgroud)
我想以不区分大小写的方式按字母顺序对它们进行排序.
预期的输出是这样的:
[1] "AddaVax.LN.ID" "ADX.LN.ID" "ALM.LN.ID" "bCD.LN.ID" "cdiGMP.LN.ID" "cGAMP.LN.ID"
[7] "D35.LN.ID" "DMXAA.LN.ID" "FCA.LN.ID" "FK565.LN.ID" "ISA51VG.LN.ID" "K3.LN.ID"
[13] "K3SPG.LN.ID" "MALP2s.LN.ID" "MBT.LN.ID" "MPLA.LN.ID" "Pam3CSK4.LN.ID" "Poly_IC.LN.ID"
[19] "R848.LN.ID" "sHz.LN.ID"
Run Code Online (Sandbox Code Playgroud)
我尝试了但失败了(使用R.3.2.0 alpha):
> sort(mylist)
[1] "ADX.LN.ID" "ALM.LN.ID" "AddaVax.LN.ID" "D35.LN.ID"
[5] "DMXAA.LN.ID" "FCA.LN.ID" "FK565.LN.ID" "ISA51VG.LN.ID"
[9] "K3.LN.ID" "K3SPG.LN.ID" "MALP2s.LN.ID" "MBT.LN.ID"
[13] "MPLA.LN.ID" "Pam3CSK4.LN.ID" "Poly_IC.LN.ID" "R848.LN.ID"
[17] "bCD.LN.ID" "cGAMP.LN.ID" "cdiGMP.LN.ID" "sHz.LN.ID"
Run Code Online (Sandbox Code Playgroud) 我有以下内容:
library(tidyverse)
df <- tibble::tribble(
~sample, ~colB, ~colC,
"foo", 1, 2,
"bar_x", 2, 3,
"qux.6hr.ID", 3, 4,
"dog", 1, 1
)
df
#> # A tibble: 4 x 3
#> sample colB colC
#> <chr> <dbl> <dbl>
#> 1 foo 1 2
#> 2 bar_x 2 3
#> 3 qux.6hr.ID 3 4
#> 4 dog 1 1
df <- factor(final_df$samples, levels=c("bar_x","foo","qux.6hr.ID","dog"))
df
#> [1] foo bar_x qux.6hr.ID dog
#> Levels: bar_x foo qux.6hr.ID dog
Run Code Online (Sandbox Code Playgroud)
我想要做的是对于sample列中的每一行删除这些子字符串:_x以及.6hr …
我有以下代码:
library(GGally)
library(nycflights13)
library(tidyverse)
dat <- nycflights13::flights %>%
select(dep_time, sched_dep_time, dep_delay, arr_time, sched_arr_time, arr_delay) %>%
sample_frac(0.01)
dat
ggpairs(dat)
Run Code Online (Sandbox Code Playgroud)
它产生了这个:
如何添加密度着色,使其如下所示: