我有一个数据框,我正在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) 我有一个矩阵,我想改进绘制ggplo2使用melt函数,reshape2但无法找到添加自定义标题名称的方法.
#Create toy data
MyData <- matrix(rnorm(15,500), nrow = 5, ncol = 3, dimnames = list(
c("Unknown","0-4","4-9","10-14","15-19"),c("Area1","Area2","Area3")))
Dat2 <- melt(MyData, value.name = "Count")
#Reform data using melt, define Count as value name
MyData2 <- melt(MyData, value.name = "Count")
Run Code Online (Sandbox Code Playgroud)
这让我得到了我想要的东西,但接下来的操作必须参考Var1和Var2.
我尝试使用variable.name以下命令明确命名它们:
MyData2 <- melt(MyData, value.name = "Count",
variable.name = c("AgeGroup", "Geo"))
Run Code Online (Sandbox Code Playgroud)
我当然可以在使用之后命名它们colnames()但是想要使用它melt.这可能吗?我需要备份吗?
谢谢!
我想让我的情节边框成为黑色以外的某种颜色.我注意到如果我使用以下命令将默认主题设置为theme_bw():
theme_set(theme_bw())
Run Code Online (Sandbox Code Playgroud)
我可以将边框设置为我想要的颜色
theme(panel.border = element_rect(color="darkred", size=0.5, linetype="solid").
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常.每个面板的边框,无论是刻面图还是单个图,都采用"深色"颜色,其余部分与我更改panel.border之前的相同.
但是,如果我使用不同的默认主题,比如theme_gray()或theme_classic(),则边框会发生变化但每个方面的内容都会被删除(完全白色).
有什么想法导致这种行为差异或我能做些什么来解决它?我想使用theme_gray()并在每个方面的边框周围放一条细彩色线条.
我是R和dplyr包的新手.我试图将变量传递给dplyr group_by,我们可以改变/改变它.例如,在使用航班数据集时,我可以使用以下代码获取任何列(或多列)的行数:
library(nycflights13)
flights %>% group_by(origin) %>% tally()
flights %>% group_by(carrier) %>% tally()
flights %>% group_by(origin,carrier) %>% tally()
Run Code Online (Sandbox Code Playgroud)
但是如果我想传递所用列的名称,将group_by作为变量传递,则在使用多个列名时它不起作用.
group="carrier"
flights %>% group_by_(group) %>% tally()
group="origin"
flights %>% group_by_(group) %>% tally()
group=c("origin","carrier") #This does not work
flights %>% group_by_(group) %>% tally()
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助.谢谢.
我有一个数据集如下:我有一个这样的数据框,称为data_frame_test.
Value time group
3.96655960 0 184
-8.71308460 0 184
-11.11638947 0 184
-6.84213562 11 184
-1.25926609 11 184
-4.60649529 11 184
0.27577858 11 184
11.85394249 20 184
-0.27114563 20 184
1.73081284 20 184
1.78209915 20 184
11.34305840 20 184
13.49688263 20 184
-7.54752045 20 184
-13.63673286 25 184
-5.75711517 25 184
0.35823669 25 184
-2.45237694 25 184
0.49313087 0 66
-9.04148674 0 66
-15.50337906 0 66
-17.51445351 0 66
-10.66807098 0 66
-2.24337845 5 66
-13.79929533 5 …Run Code Online (Sandbox Code Playgroud) 我有一个数据帧如下:
df = data.frame(a = 1:4, strings = c('ooss_bboo_foo','ee_bbbbee_fffee','aas_baa_ffaa_daa', 'iisss_bbbbii_ffffii_dii_mii'))
Run Code Online (Sandbox Code Playgroud)
我想拆分_,生成新的列(或新的数据框,并不重要).可以用min(lengths(strsplit(df$strings, "_")))和估计出现的次数max(lengths(strsplit(df$strings, "_")))
期望的输出:
X1 X2 X3
1 ooss bboo foo
2 ee bbbbee fffee
3 aas_baa ffaa daa
4 iisss_bbbbii_ffffii dii mii
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多正则表达式,我已经非常绝望了......
我正在使用ggarrange和annotate_figure并排显示两个图。在我的实际代码中,每个子图都有不同的标题,但在整个图的顶部需要一个通用的标题和副标题。
我知道如何在顶部添加文本,但是如何添加两行,每行具有不同的字体(例如顶部标题应该大/粗体,第二行/副标题应该更小并且是常规字体)?
这是我制作标题的方法。text_grob有没有办法在 中添加 a top?
library(tidyverse)
library(ggpubr)
df <- data.frame()
plot1 <- ggplot(df) + geom_point() + xlim(0, 10) + ylim(0, 100)
plot2 <- ggplot(df) + geom_point() + xlim(0, 10) + ylim(0, 100)
all.plots <- ggarrange(plot1, plot2)
annotate_figure(all.plots,
top=text_grob("Antibiotic Effectiveness"))
Run Code Online (Sandbox Code Playgroud) 我不知道使用BFG删除大文件/敏感文件的干净方法,错过了关键步骤:
git clone --mirror git://example.com/some-big-repo.git
当我尝试将其推送到远程站点时,会导致历史冲突,我天真地解决
git pull origin master --allow-unrelated-histories了这些冲突,合并了一些冲突,然后再进行推送。
这重复了提交,有时是5-10次。
由于我一个人在做这个仓库,所以我既没有选择清理这个仓库并从一个更合理的副本开始重新启动的选择,也没有必要担心不同的提交是不同的,我确信它们是相同的。
是否有蛮力命令擦除所有在哈希表以外所有相同的提交?
我有一个大数据表,我想检查是否103a_foo存在.但是,大表中的文件名以不同的方式编写,因此我必须使用正则表达式.
dt = structure(list(myID = c("86577", "34005","34005",
"194000", "30252", "71067"),
filename = c("/scratch/tmpdir/12a_foo.mzXML.gz",
"/scratch/tmpdir/103b_foo.XML.gz", "/scratch/tmpdir/103a_foo.XML.gz",
"/scratch/tmpdir/103a_foo.XML.gz",
"/scratch/tmpdir/100b_foo.XML.gz", "/scratch/tmpdir/108a_foo.XML.gz")),
class = c("data.table", "data.frame"),
row.names = c(NA, -5L),
.Names = c("myID", "filename"))
Run Code Online (Sandbox Code Playgroud)
作为输出,我想要一个索引3,因为这是它第一次出现.我会使用grep('103a_foo', dt$filename)[1],但我希望搜索在第一次出现时停止,因为表很大(1000万行).
我想知道是否有一些秘密论据允许separate从行尾应用?一些magic_argument?
期望的输出如下:
library(dplyr)
df <- data.frame(x = c(NA, "a.b.b", "a.b.d", "b.c"))
df %>% separate(x, c("A", "B"), magic_argument = TRUE)
#> A B
#> 1 <NA> <NA>
#> 2 a.b b
#> 3 a.b d
#> 4 b c
Run Code Online (Sandbox Code Playgroud) 我有一个长度相等的子串列表,我想在大字符串中找到所有这些子串的位置。然而棘手的部分是我还应该找到不匹配数量有限的子字符串(也给出了不匹配的数量)。我以为我可以用正则表达式做到这一点,但我找不到方法。UPD:我使用的是 Python 2.7。
示例:输入字符串:s = 'ATGTCGATCGATGCTAGCTATAGATAAAA',输入子字符串为s0 = 'ATG',允许的不匹配数为 n = 1。我想要的是返回一个可迭代的,比如说一个列表,位置:[0,7,19,23,6],对应于“ATG”(两次),“ATA”的位置'(两次),'ATC' 相应地,因为其他不匹配的 3 聚体都不会出现在字符串中。