小编gae*_*cia的帖子

如何设置使用管道%>%运算符传递的数据框的行名?

我有一个数据框,我正在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)

r dataframe dplyr magrittr

15
推荐指数
3
解决办法
8700
查看次数

如何使数据框中的因子级别在所有列中保持一致?

我有一个包含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,以便我可以转换为矩阵并将其转换为热图.

目前,它根据特定列中显示的级别和字母顺序将因子分配给级别.

如何在整个数据框中保持不变?

r matrix dataframe r-factor

9
推荐指数
1
解决办法
4160
查看次数

如何防止'read.table'将下划线和连字符改为点?

我有一堆文件,我正在一个数据框中合并.文件名如下: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)

关于导致这种情况的原因的任何解释都会有所帮助,因为我需要在以后使用另一个文件来更改这些名称.

r character read.table

8
推荐指数
1
解决办法
3483
查看次数

如何导出交互式 rgl 3D 绘图以共享或发布?

我使用 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 文件,该文件在浏览器中打开与上面相同的图像。

3d r pca rgl

7
推荐指数
1
解决办法
1万
查看次数

如何折叠频率表的行以在新列中添加其计数?

我有一个包含样本分类的数据框:

 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 frequency dataframe dplyr janitor

7
推荐指数
1
解决办法
314
查看次数

包中无法卸载R:无法安装包

我试图在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)

r fedora bioconductor

6
推荐指数
3
解决办法
2万
查看次数

在R markdown HTML文件中并排打印ggplot数字?

我将两个带有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)

这几乎可以工作,但它仍然有点混乱:

在此输入图像描述

r ggplot2 rstudio r-markdown

6
推荐指数
3
解决办法
1万
查看次数

在排除第一列时粘贴多个文件

我有一个目录,其中包含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'列.

  1. 如何一次粘贴目录中的所有文件?

  2. 如何在第一列之后从所有文件中排除第一列?

谢谢.

unix bash shell

5
推荐指数
2
解决办法
1288
查看次数

在 dplyr 中,是否可以使用 mutate 指定在何处添加新列?

目前我必须使用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 dataframe dplyr mutate

5
推荐指数
1
解决办法
531
查看次数

如何在 R Notebooks 内联输出中查看渲染的 kable?

我不认为我了解表格渲染如何在 R Notebooks 中内联工作,以及 kable 输出如何内联格式化。

我只是希望能够在我的笔记本的内联输出中看到数据帧在预览笔记本/编织文件时的显示方式。

表格在 Notebook Preview 中的样子: 在此处输入图片说明

我试过关闭分页打印选项,但仍然如下所示:

```{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 表的最终输出?

r rstudio r-markdown rnotebook kable

5
推荐指数
0
解决办法
590
查看次数