person
位於 utils
包(package)。 說明
用於保存姓名和電子郵件地址等人員信息的類和實用方法。
用法
person(given = NULL, family = NULL, middle = NULL,
email = NULL, role = NULL, comment = NULL,
first = NULL, last = NULL)
as.person(x)
## Default S3 method:
as.person(x)
## S3 method for class 'person'
format(x,
include = c("given", "family", "email", "role", "comment"),
braces = list(given = "", family = "", email = c("<", ">"),
role = c("[", "]"), comment = c("(", ")")),
collapse = list(given = " ", family = " ", email = ", ",
role = ", ", comment = ", "),
...,
style = c("text", "R")
)
## S3 method for class 'person'
toBibtex(object, escape = FALSE, ...)
參數
given |
具有給定名稱或其列表的字符向量。 |
family |
帶有姓氏的字符串或其列表。 |
middle |
帶有折疊中間名的字符串。已棄用,請參閱詳細信息。 |
email |
給出 e-mail 地址(每個)的字符串(或向量)或其列表。 |
role |
指定人員角色的字符向量(請參閱詳細信息)或其列表。 |
comment |
提供注釋的字符串(或向量)或其列表。 |
first |
給出名字的字符串。已棄用,請參閱詳細信息。 |
last |
給出姓氏的字符串。已棄用,請參閱詳細信息。 |
x |
|
include |
給出格式化時要包含的字段的字符向量。 |
braces |
字符列表(請參閱詳細信息)。 |
collapse |
字符列表(請參閱詳細信息)。 |
... |
目前沒有使用。 |
style |
指定打印樣式的字符串, |
object |
一個R從類繼承的對象 |
escape |
指示非 ASCII 字符是否應轉換為 LaTeX 轉義序列的邏輯。 |
細節
"person"
類的對象可以保存任意正數個人的信息。這些可以通過使用列表參數調用 person()
來獲得,或者首先創建代表單個人的對象並通過 c()
組合這些對象來獲得。
format()
方法將有關人員的信息折疊為字符向量(每個人一個字符串):選擇 include
中的字段,每個字段使用 collapse
的相應元素折疊為字符串,隨後使用相應的 “embraced” 折疊為字符串。 braces
的元素,最後折疊成一個由空格分隔的字符串。如果 braces
和/或 collapse
未指定所有字段的字符,則會估算用法中顯示的默認值。如果collapse
是FALSE
或NA
,則相應字段不會折疊,但僅使用第一個元素。 print()
方法調用 format()
方法並打印結果,toBibtex()
方法創建合適的 BibTeX 表示形式。
Person 對象可以按字段(使用 $
)或位置(使用 [
)進行下標。
as.person()
是一個通用函數。它的默認方法嘗試反轉默認的人員格式,並且還可以處理由逗號或"and"
(帶有適當的空格)折疊的格式化人員條目。
個人名稱相當棘手,例如 https://en.wikipedia.org/wiki/Personal_name 。
"person"
類的當前實現(從 R 2.12.0 開始)使用給定(包括中間名)和姓氏的概念,分別由 given
和 family
指定。早期版本使用基於名字、中間名和姓氏的方案,適合大多數西方文化,其中名字在姓氏之前,但不通用,因為其他一些文化將其放在姓氏之後,或者不使用姓氏。為了順利過渡到新方案,參數 first
、 middle
和 last
仍然受支持,但它們的使用已被棄用,並且不得與相應的新樣式參數結合使用。對於非自然人(例如機構、公司等),適合使用 given
(但不是 family
)作為名稱,例如 person("R Core Team", role = "aut")
。
新方案還增加了指定的可能性角色基於 MARC 相關代碼列表的子集(https://www.loc.gov/marc/relators/relaterm.html)。在創作中賦予人物角色時R包,建議使用以下方式。
"aut"
-
(作者)用於對包做出重大貢獻並應出現在包引用中的完整作者。
"com"
-
(編譯器)用於收集代碼(可能是其他語言)但沒有對包做出進一步實質性貢獻的人。
"cph"
-
(版權持有者)供所有版權持有者使用。這是一個法律概念,因此應使用機構或法人團體的法定名稱。
"cre"
-
(創建者)用於包維護者。
"ctb"
-
(貢獻者)用於做出較小貢獻(例如代碼補丁等)但不應出現在包引用中的作者。
"ctr"
-
(承包商)用於已簽約編寫包(部分)的作者,因此不擁有知識產權。
"dtc"
-
(數據貢獻者)用於為包貢獻數據集的人員。
"fnd"
-
(資助者)用於為包的開發提供財務支持的個人或組織。
"rev"
-
(審閱者)用於負責審閱包(部分)的個人或組織。
"ths"
-
(論文顧問)如果該包是論文的一部分,請用於論文顧問。
"trl"
-
(翻譯器)如果 R 代碼是從另一種語言(通常是 S)翻譯而來,則用於 R 的翻譯器。
在舊方案中,人員對象用於單個人員,單獨的 "personList"
類及其相應的創建者 personList()
用於這些對象的集合。新方案采用單個類來獲取有關任意正數人員的信息,從而消除了對 personList
機製的需要。
comment
字段可用於“arbitrary” 有關人員的附加信息。名為"ORCID"
的元素將被用來給出ORCID標識符(更多信息參見https://orcid.org/),並通過print()
和format()
方法顯示為相應的URI(參見下麵的示例)。
值
person()
和 as.person()
返回類 "person"
的對象。
例子
## Create a person object directly ...
p1 <- person("Karl", "Pearson", email = "pearson@stats.heaven")
## ... or convert a string.
p2 <- as.person("Ronald Aylmer Fisher")
## Combining and subsetting.
p <- c(p1, p2)
p[1]
p[-1]
## Extracting fields.
p$family
p$email
p[1]$email
## Specifying package authors, example from "boot":
## AC is the first author [aut] who wrote the S original.
## BR is the second author [aut], who translated the code to R [trl],
## and maintains the package [cre].
b <- c(person("Angelo", "Canty", role = "aut", comment =
"S original, <http://statwww.epfl.ch/davison/BMA/library.html>"),
person(c("Brian", "D."), "Ripley", role = c("aut", "trl", "cre"),
comment = "R port", email = "ripley@stats.ox.ac.uk")
)
b
## Formatting.
format(b)
format(b, include = c("family", "given", "role"),
braces = list(family = c("", ","), role = c("(Role(s): ", ")")))
## Conversion to BibTeX author field.
paste(format(b, include = c("given", "family")), collapse = " and ")
toBibtex(b)
## ORCID identifiers.
(p3 <- person("Achim", "Zeileis",
comment = c(ORCID = "0000-0003-0918-3766")))
也可以看看
相關用法
- R personList 人員集合(舊接口)
- R promptData 為數據集生成大綱文檔
- R page 在 R 對象上調用尋呼機
- R promptPackage 生成包文檔的 Shell
- R packageName 查找與環境關聯的包
- R prompt 生成 R 文檔文件的原型
- R process.events 觸發事件處理
- R packageDescription 包裝說明
- R package.skeleton 為新的源包創建骨架
- R packageStatus 包管理工具
- R select.list 從列表中選擇項目
- R COMPILE 編譯用於 R 的文件
- R readRegistry 讀取 Windows 注冊表配置單元
- R browseVignettes 在 HTML 瀏覽器中列出暈影
- R hasName 檢查姓名
- R nsl 按主機名查找 IP 地址
- R edit 調用文本編輯器
- R create.post 準備電子郵件和帖子的輔助函數
- R hsearch-utils 幫助搜索實用程序
- R download.packages 從類似 CRAN 的存儲庫下載軟件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表對象及其結構
- R Rscript R 前端腳本
- R bug.report 發送錯誤報告
- R PkgUtils 用於構建和檢查附加包的實用程序
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Persons。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。