我有一个数据框,我正在dcast使用该reshape2包,我想删除第一列,让它成为数据框的行名称.
原始数据帧,之前dcast:
> corner(df)
ID_full gene cpm
1 S36-A1 DDX11L1 0
2 S36-A1 WASH7P 0
3 S36-A1 MIR1302-2 0
4 S36-A1 FAM138A 0
5 S36-A1 OR4F5 0
Run Code Online (Sandbox Code Playgroud)
pivot dcast表的功能:
library(reshape2)
pivot <- function(x){
castTable <- x %>% dcast(ID_full ~ gene, value.var="cpm")
}
Run Code Online (Sandbox Code Playgroud)
之后dcast,包裹在我的pivot功能中:
> corner(df)
ID_full 1060P11.3 A1BG A1BG-AS1 A1CF
1 S36-A1 0 0 0 0
2 S36-A10 0 0 0 0
3 S36-A11 0 0 0 0
4 S36-A12 …Run Code Online (Sandbox Code Playgroud) 我有一个包含5个不同列的数据框:
Test1 Test2 Test3 Test4 Test5
Sample1 PASS PASS FAIL WARN WARN
Sample2 PASS PASS FAIL PASS WARN
Sample3 PASS FAIL FAIL PASS WARN
Sample4 PASS FAIL FAIL PASS WARN
Sample5 PASS WARN FAIL WARN WARN
Run Code Online (Sandbox Code Playgroud)
在每列中,为每个级别分配不同的因子.在第1栏中,"PASS"为1.在第2栏中,"PASS"为2,"FAIL为1.在第3栏中,"FAIL"为1.在第4栏中,"PASS"为1,"WARN"为2在第5栏中,"警告"是1.
按字母顺序执行它我需要"PASS"在所有列中为1,"WARN"在所有列中为2,并且在所有列中为"FAIL"3,以便我可以转换为矩阵并将其转换为热图.
目前,它根据特定列中显示的级别和字母顺序将因子分配给级别.
如何在整个数据框中保持不变?
我有一堆文件,我正在一个数据框中合并.文件名如下:unc.edu.b6530750-0410-43ec-bb79-f862ca3424a6.1918120.rsem.genes.results
我希望文件名是列名.我正在使用以下代码:
for (file in file_list){
if (!exists("dataset")){
dataset <- read.table(file, header=TRUE, colClasses = c(rep("character", 2), rep("NULL", 2)), col.names = c("gene_id", deparse(substitute(file)), "NuLL", "NULL"), sep="\t")
print(deparse(substitute(file)))
}
if (exists("dataset")){
temp_dataset <-read.table(file, header=TRUE, colClasses = c(rep("character", 2), rep("NULL", 2)), col.names = c("gene_id", deparse(substitute(file)), "NuLL", "NULL"), sep="\t")
print(deparse(substitute(file)))
dataset<-merge(dataset, temp_dataset, by = "gene_id")
rm(temp_dataset)
}
}
Run Code Online (Sandbox Code Playgroud)
一切顺利,但列名称现在将下划线替换为点.
colnames(data)
[1] "gene_id"
[2] "X...unc.edu.02cb8dbe.ef56.471c.b52d.41c29219fd95.1794854.rsem.genes.results..x"
[3] "X...unc.edu.02cb8dbe.ef56.471c.b52d.41c29219fd95.1794854.rsem.genes.results..y"
[4] "X...unc.edu.02f5dcba.bdcc.4424.aed4.195a8d551325.2085643.rsem.genes.results."
Run Code Online (Sandbox Code Playgroud)
关于导致这种情况的原因的任何解释都会有所帮助,因为我需要在以后使用另一个文件来更改这些名称.
我使用 rgl 包在 R 中制作了一个交互式 3D 图。我希望能够将其发送(并保持交互)给一位同事,以便她可以在她的笔记本电脑上的会议中展示(旋转)。有没有办法做到这一点?
这是我用来生成绘图的代码:
这是情节:
library(rgl)
plot3d(pcaGB$x[,1:3], col=gbMeta2.5K$gbColor, type='s', size=1)
Run Code Online (Sandbox Code Playgroud)

然后我使用此代码使用 writeWebGL 将其导出为 HTML,但到目前为止没有任何运气:
browseURL(paste("file://", writeWebGL(dir=file.path("~/Documents/", "webGL"), width=700), sep=""))
Run Code Online (Sandbox Code Playgroud)
这是我在浏览器窗口中返回的内容:

我也试过只使用 writeWebGL 但这会在目录中创建一个文件夹,其中包含一个 index.html 文件,该文件在浏览器中打开与上面相同的图像。
我有一个包含样本分类的数据框:
Seq_ID Family Father Mother Sex Role Type
<chr> <dbl> <chr> <chr> <chr> <chr> <chr>
1 SSC02219 11000. 0 0 Male Father Parent
2 SSC02217 11000. 0 0 Female Mother Parent
3 SSC02254 11000. SSC02219 SSC02217 Male Proband Child
4 SSC02220 11000. SSC02219 SSC02217 Female Sibling Child
5 SSC02184 11001. 0 0 Male Father Parent
6 SSC02181 11001. 0 0 Female Mother Parent
7 SSC02178 11001. SSC02184 SSC02181 Male Proband Child
8 SSC03092 11002. 0 0 Male Father Parent
9 …Run Code Online (Sandbox Code Playgroud) 我试图在R中安装一个包,但无法解决以下错误.
到底是怎么回事?:(
我正在运行Fedora 20,R 3.2
biocLite("monocle")
BioC_mirror: http://bioconductor.org
Using Bioconductor version 3.0 (BiocInstaller 1.16.5), R version 3.2.0.
Installing package(s) 'monocle'
trying URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/monocle_1.0.0.tar.gz'
Content type 'application/x-gzip' length 332309 bytes (324 KB)
downloaded 324 KB
installing *source* package ‘monocle’ ...
R
inst
preparing package for lazy loading
Error in unloadNamespace(package) :
namespace ‘plyr’ is imported by ‘reshape2’, ‘ggplot2’, ‘scales’ so cannot be unloaded
Error in library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
Package ‘plyr’ version 1.8.1 cannot …Run Code Online (Sandbox Code Playgroud) 我将两个带有ggplot的图打印成一个R Markdown HTML输出,但我希望它们并排出现.这可能吗?我也可以设定数字的大小吗?
到目前为止我只能一个接一个地打印出来.我也尝试过R Cookbook中的多重绘图功能,但这严重扭曲了这些情节......
谢谢!
title: "HT Chip MiSeq/HiSeq Analysis"
date: "October 1, 2015"
output:
html_document:
highlight: haddock
theme: flatly
---
```{r plots, echo=FALSE}
genesDetectedDensity_MiSeq <- ggplot(meta.miseq) + geom_density(aes(genesDetected, fill=column, color=seqRun), alpha=0.2) + scale_x_continuous(limits=c(0,2000), breaks=seq(0, 2000, 100)) + ggtitle("Genes Detected across cells from MiSeq Runs")
return(genesDetectedDensity_MiSeq)
genesDetectedHistogram_MiSeq <- ggplot(meta.miseq) + geom_bar(aes(genesDetected, fill=column, color=seqRun), position="dodge", binwidth=50, alpha=0.2) + scale_x_continuous(limits=c(0,2000), breaks=seq(0, 2000, 100)) + ggtitle("Genes Detected across cells from MiSeq Runs")
return(genesDetectedHistogram_MiSeq)
```
Run Code Online (Sandbox Code Playgroud)
这产生以下结果:
更新:根据我在下面收到的建议,我尝试使用该gridExtra库,并通过添加以下内容打印图:
grid.arrange(genesDetectedDensity_MiSeq, genesDetectedHistogram_MiSeq, ncol=2)
Run Code Online (Sandbox Code Playgroud)
这几乎可以工作,但它仍然有点混乱:
我有一个目录,其中包含100个相同格式的文件:
> S43.txt
Gene S43-A1 S43-A10 S43-A11 S43-A12
DDX11L1 0 0 0 0
WASH7P 0 0 0 0
C1orf86 0 15 0 1
> S44.txt
Gene S44-A1 S44-A10 S44-A11 S44-A12
DDX11L1 0 0 0 0
WASH7P 0 0 0 0
C1orf86 0 15 0 1
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含所有文件中所有列的巨型表,但是当我这样做时:
paste S88.txt S89.txt | column -d '\t' >test.merge
Run Code Online (Sandbox Code Playgroud)
当然,该文件包含两'Gene'列.
如何一次粘贴目录中的所有文件?
如何在第一列之后从所有文件中排除第一列?
谢谢.
目前我必须使用add_column将新列直接插入到所需位置,或者使用mutate, 然后select使用新的所需列顺序。
mips.group <- str_extract(mips.manifest$PlateName, "[:alnum:]+_([[:alnum:]&&[^P]]+(_CL)?)?|(KORgex)")
mips.manifest %<>%
add_column(MIPSGroup=mips.group, .after="PlateName")
Run Code Online (Sandbox Code Playgroud)
是否可以直接告诉mutate在哪里添加新列,如果没有,是否有原因?
我不认为我了解表格渲染如何在 R Notebooks 中内联工作,以及 kable 输出如何内联格式化。
我只是希望能够在我的笔记本的内联输出中看到数据帧在预览笔记本/编织文件时的显示方式。
我试过关闭分页打印选项,但仍然如下所示:
```{r results='asis', rmarkdown.df_print = FALSE}
ssc.sample.convert %>% tabyl(Role) %>% as.data.frame()
```
Run Code Online (Sandbox Code Playgroud)
尝试使用 kable 时,我似乎无法让输出看起来像在呈现的 HTML 文件中那样:
```{r results='asis', rmarkdown.df_print = FALSE}
ssc.sample.convert %>% tabyl(Role) %>% kable(format="html")
```
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式摆脱分页打印?是否可以内联查看 kable 表的最终输出?