我一直在尝试在多级直方图数据上绘制标准误差条,这与以下非常相似:
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)
但结果总是在每年中间出现错误条.
我想知道我做错了什么.每个错误栏应位于数据中引用的月/年之上.
我有以下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) 我正在尝试使用有序的分类变量。似乎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)。我究竟做错了什么?预先感谢您的任何帮助
我正在尝试创建以下数据的箱线图
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,但试图为连续轴提供离散值会吐出空白图和错误.我已经满足了当天对计算机配额的咒骂,在这方面获得一些帮助真的很棒.
我正在使用包含大约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) r ×4
categories ×2
ggplot2 ×2
grouping ×2
date ×1
dna-sequence ×1
dplyr ×1
errorbar ×1
python ×1
random ×1
refactoring ×1
search ×1
tidyr ×1