关于教皇任期的数字与R


罗马   主教 --即   教皇 --的工作通常被认为是一个终身的承诺。自公元32年以来,共有266位教皇(根据   http://oce.catholic.com/ ...... ),几乎所有的人都任职到死。但这并不意味着他们在职时间长 -- 人们可以很容易地从上述网站上提取数据。

> L2=scan("http://oce.catholic.com/index.php?title=List_of_Popes",what="character")
Read 4485 items
> index=which(L2=="</td><td>Reigned")
> X=L2[index+1]
> Y=strsplit(X,split="-")

但人们应该做一点工作,因为有时,有不一致的地方,例如,911-913,然后是913-14,所以我们需要多一些行。此外,我们可以从这个文件中提取教皇开始统治的年份,结束的年份,以及长度,使用这些函数

> diffyears=function(x){
+ s=NA
+ if(sum(substr(x,1,1)=="c")>0){x[substr(x,1,1)=="c"]=substr(x[substr(x,1,1)=="c"],3,nchar(x[substr(x,1,1)=="c"]))}
+ if(length(x)==1){s=1}
+ if(length(x)==2){s=diff(as.numeric(x))}
+ return(s)}
> whichyearsbeg=function(x){
+ s=NA
+ if(sum(substr(x,1,1)=="c")>0){x[substr(x,1,1)=="c"]=substr(x[substr(x,1,1)=="c"],3,nchar(x[substr(x,1,1)=="c"]))}
+ if(length(x)==1){s=as.numeric(x)}
+ if(length(x)==2){s=as.numeric(x)[1]}
+ return(s)}
> whichyearsend=function(x){
+ s=NA
+ if(sum(substr(x,1,1)=="c")>0){x[substr(x,1,1)=="c"]=substr(x[substr(x,1,1)=="c"],3,nchar(x[substr(x,1,1)=="c"]))}
+ if(length(x)==1){s=as.numeric(x)}
+ if(length(x)==2){s=as.numeric(x)[2]}
+ return(s)}

在我们的文件中,我们有

> Years=unlist(lapply(Y,whichyearsbeg))
> YearsB=c(Years[1:91],752,Years[92:length(Years)])
> YearsB[187]=1276
> Years=unlist(lapply(Y,whichyearsend))
> YearsE=c(Years[1:91],752,Years[92:length(Years)])
> YearsE[187]=1276
> YearsE[266]=2013
> YearsE[122]=914 
> W=unlist(lapply(Y,diffyears))
> W=c(W[1:91],1,W[92:length(W)])
> W[W==-899]=1
> which(is.na(W))
[1] 187 266
> W[187]=1
> W[266]=2013-2005

如果我们绘制它,我们有以下的图表,

> plot(YearsB,W,type="h")

如果我们看一下平均长度,我们有下面的图,

> n=200
> YEARS = seq(0,2000,length=n)
> Z=rep(NA,n)
> for(i in 2:(n-1)){
+ index=which((YearsB>YEARS[i]-50)&(YearsE<YEARS[i]+50))
+ Z[i] = mean(W[index])}
> plot(YEARS,Z,type="l",ylim=c(0,30))
> n=50
> YEARS = seq(0,2000,length=n)
> Z=rep(NA,n)
> for(i in 2:(n-1)){
+ index=which((YearsB>YEARS[i]-50)&(YearsE<YEARS[i]+50))
+ Z[i] = mean(W[index])}
> lines(YEARS,Z,type="l",col="grey")

这并不反映两千年来观察到的死亡率的改善。这可能与当选时的平均年龄随着时间的推移而增加有关(例如,本笃十六世是在78岁时当选的--最年长的当选者之一)。实际上,7年多一点的任期几乎是中位数,

> mean(W>=7.5)
[1] 0.424812

(42%的教皇至少在位7年),或者我们可以看看柱状图,

> hist(W,breaks=0:35)

不幸的是,我找不到更详细的数据库(包括出生年份,例如)来启动教皇的生命表。