小编sla*_*ias的帖子

ggplot errorbar位置多因素问题

我一直在尝试在多级直方图数据上绘制标准误差条,这与以下非常相似:

mth<-rep(c("June","July","August"),length.out=15)
yr<-rep(c("1999","2000","2005","2009","2010"),each=3)
X<-rnorm(15,mean=200,sd=100)
lng<-rep(c(30,31,31),length.out=15)
vrnc<-rnorm(15,mean=740,sd=300)
df<-data.frame(mth,yr,vrnc,lng,X)
dfi<-dim(df)[1]
for(i in 1:dfi){
df$X.se[i]<-sqrt(df$vrnc[i]/df$lng[i])
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用此线程中描述的stat_summary方法放置错误栏.我的stat_summary代码如下所示:

ggplot(df,aes(x=yr,y=X,fill=mth))+
    stat_summary(fun.y=mean, geom="bar",position=position_dodge(1)) + 
    stat_summary(fun.ymin=min,fun.ymax=max,geom="errorbar",
        color="grey40",position=position_dodge(1), width=.2) +
    geom_errorbar(data=df,aes(ymin=X-X.se,ymax=X+X.se,position="dodge",width=.2))+
    scale_fill_discrete("mth")
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用这段代码:

ggplot(df,aes(x=yr,y=X,fill=mth))+
    geom_bar(stat="identity",position="dodge")+
    geom_errorbar(data=df,aes(ymin=X-X.se,ymax=X+X.se,position="dodge",width=.2))
Run Code Online (Sandbox Code Playgroud)

但结果总是在每年中间出现错误条.

在此输入图像描述

我想知道我做错了什么.每个错误栏应位于数据中引用的月/年之上.

grouping r ggplot2 errorbar

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

DNA 字符串中随机基序搜索的意外输出

我有以下t=5DNA 字符串:

DNA = '''CGCCCCTCTCGGGGGTGTTCAGTAAACGGCCA
GGGCGAGGTATGTGTAAGTGCCAAGGTGCCAG
TAGTACCGAGACCGAAAGAAGTATACAGGCGT
TAGATCAAGTTTCAGGTGCACGTCGGTGAACC
AATCCACCAGCTCCACGTGCAATGTTGGCCTA'''
k = 8
t = 5
Run Code Online (Sandbox Code Playgroud)

我正在尝试k=8使用拉普拉斯变换从每个 t 字符串中随机采样长度为 k 的块,从字符串集合中找到长度最好的图案。

我的辅助功能如下:

def window(s, k):
    for i in range(1 + len(s) - k):
        yield s[i:i+k]

def HammingDistance(seq1, seq2):
    if len(seq1) != len(seq2):
        raise ValueError('Undefined for sequences of unequal length.')
    return sum(ch1 != ch2 for ch1, ch2 in zip(seq1, seq2))

def score(motifs):
    score = 0
    for i in range(len(motifs[0])):
        motif = ''.join([motifs[j][i] for j in range(len(motifs))])
        score += …
Run Code Online (Sandbox Code Playgroud)

python random search bioinformatics dna-sequence

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

返回最高水平因子

我正在尝试使用有序的分类变量。似乎max min函数应该与有序类别一起使用,但事实并非如此。

var<-factor(c("1","6","4","3","5","2"),levels=c("1","6","4","3","5","2"))
max(levels(var))
Run Code Online (Sandbox Code Playgroud)

我希望代码返回最后一个因子级别(2),但它返回第二个因子级别(6)。我究竟做错了什么?预先感谢您的任何帮助

refactoring r categories

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

具有连续比例的boxplot的ggplot多因子级分组

我正在尝试创建以下数据的箱线图

Temp<-rnorm(90,mean=100,sd=10)
Yr<-sample(c("1999","2000","2005","2009","2010"),size=90,replace=TRUE)
Month<-sample(c("June","July","August"),size=90,replace=TRUE)
Month
df<-data.frame(Temp,Month,Yr)
Run Code Online (Sandbox Code Playgroud)

我想要的视觉及其相应的代码如下:

在此输入图像描述

ggplot(df,aes(x=interaction(Month,Yr),y=Temp,fill=Month))+
    geom_boxplot()+
    xlab("Year")+
    ylab("Daily Maximum Temperature")
Run Code Online (Sandbox Code Playgroud)

但是,您会注意到,数据中缺少了几年,而我正在尝试使该图表反映出x范围内的差距.另一个问题是轴上的文本和刻度线.我希望刻度只是观察年而不是月份.因为月份已经在填充中编码.我尝试过scale_x_discrete,但试图为连续轴提供离散值会吐出空白图和错误.我已经满足了当天对计算机配额的咒骂,在这方面获得一些帮助真的很棒.

r categories ggplot2

2
推荐指数
1
解决办法
895
查看次数

R dplyr选择两个单独事件之间的最小日期差异行

我正在使用包含大约400个独特主题的数据集.对于这个例子,我只会使用两个.您可以使用以下代码生成示例数据:

set.seed(100)
library(tidyr)
library(dplyr)
Subject<-c("A","A","A","A","A","A","B","B","B","B")
Event1<-c("01/01/2001","01/01/2001","01/01/2001","01/01/2001","09/09/2001","09/09/2001","09/09/2009","09/09/2009","09/09/2009","09/09/2009")

random.dates<-function(N,sd="2001-01-01",ed="2010-01-01"){
    sd<-as.Date(sd,"%Y-%m-%d")
    ed<-as.Date(ed,"%Y-%m-%d")
    dt<-as.numeric(difftime(ed,sd))
    ev<-sort(runif(N,0,dt))
    rt<-sd+ev
}
Event1<-as.Date(Event1,"%m/%d/%Y")
Event1
Event2<-print(random.dates(10))

df<-data.frame(Subject,Event1,Event2)
df
Run Code Online (Sandbox Code Playgroud)

并产生接近此输出输出的东西:

   Subject     Event1     Event2
1        A 2001-01-01 2001-05-04
2        A 2001-01-01 2001-09-24
3        A 2001-01-01 2002-10-22
4        A 2001-01-01 2003-02-25
5        A 2001-09-09 2007-07-16
6        A 2001-09-09 2008-04-06
7        B 2009-09-09 2008-07-12
8        B 2009-09-09 2008-07-24
9        B 2009-09-09 2009-04-01
10       B 2009-09-09 2009-09-11
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我有兴趣首先使用我可以轻松完成的独特Event1分组独特的主题.从那里我需要为那个独特的Subject-Event1组合选择最接近Event1的Event2,我真的需要帮助.对于此示例,这些数据应分解为3个不同的记录:

   Subject     Event1     Event2
1        A 2001-01-01 2001-05-04
2        A 2001-09-09 2008-04-06
3        B 2009-09-09 2009-09-11
Run Code Online (Sandbox Code Playgroud)

我已经巧妙地编写了一个解决方案来生成Subject-Event1组合的3条记录:

df2<-df …
Run Code Online (Sandbox Code Playgroud)

grouping r date dplyr tidyr

2
推荐指数
1
解决办法
596
查看次数