计算总页数
如上所述,页码的形式非常不同。除此之外这个问题,实际上还有另一个问题。想象一下你想量化文章的长度。显然,您需要以下信息文章的第一页和最后一页。此外,页面需要正确解析:如果计算页面,就会遇到麻烦数字,如75284 - 42 + 1
,以防数字被解析很糟糕。jst_clean_page()
尝试根据一些已知的可能性:
- “2”->2
- “A2”->2
- “v75i2p84”->84
不幸的是,正确解析是不够的。像“勘误表”之类的东西可能会缠着你。例如,可能有一篇文章第一页=42
和last_page=362
,其中会让你疑惑这是不是真的。可能有简单解释:文章可能从第42页开始,到第42页结束65,第362页还有一个勘误表。从技术上讲,last_page=362
是真的,但它会引起问题用于计算总页数。经常会有另一列中可以解决此问题的信息:页面范围(_R)
,在这种情况下看起来像42 - 65, 362
.
处理这些情况的小助手是jst_get_total_pages()
。它适用于页面范围,但也适用于对于第一页和最后一页:
图书馆(jstor)
图书馆(dplyr)
输入<-可开采的::三叉戟(
~第一页,~最后一页,~页面范围,
NA_批准_,NA_批准_,NA_字符_,
1,10,"1 - 10",
1,10,NA_字符_,
1,NA_调用_,NA_字符_,
1,NA_批准_,"1-10",
NA_批准_,NA_批准_,"1, 5-10",
NA_批准_,NA_批准_,"1-4, 5-10",
NA_批准_,NA_批准_,“1-4,C5-C10”
)
输入%>%
突变(页码(_pages)= jst_get_total页面(第一页、最后一页、页面范围))
#>#A台:8×4
#>第一页最后一页范围n_pages
#><dbl><dbl><chr><dbl>
#>1不适用不适用
#> 2 1 10 1 - 10 10
#>3 1 10<NA>10
#>4 1不适用
#>5 1北美1-10 10
#>6 NA NA 1,5-10 7
#>7 NA NA 1-4、5-10 10
#>8 NA NA 1-4,C5-C10 10
这实际上与使用jst_add_total_pages()
以下为:
输入%>%
jst_add_total页面()
#>#A台:8×4
#>第一页最后一页范围n_pages
#><dbl><dbl><chr><dbl>
#>1不适用不适用
#>2 1 10 1-10 10
#>3 1 10<NA>10
#>4 1不适用
#>5 1北美1-10 10
#>6 NA NA 1,5-10 7
#>7 NA NA 1-4、5-10 10
#>8 NA NA 1-4,C5-C10 10