如何正确使用R中的列表?
简要背景:广泛使用的许多(大多数?)当代编程语言至少都具有一些共同的ADT(抽象数据类型),特别是, 字符串(由字符组成的序列) 列表(值的有序集合),以及 基于映射的类型(将键映射到值的无序数组) 在R编程语言中,前两个分别作为character和实现vector。 当我开始学习R时,几乎从一开始就显而易见两件事:list是R中最重要的数据类型(因为它是R的父类data.frame),第二,我至少不了解它们的工作方式,至少不够好,无法在我的代码中正确使用它们。 一方面,在我看来,R的list数据类型是对映射ADT的简单实现(dictionary在Python,NSMutableDictionaryObjective C,hashPerl和Ruby,object literalJavascript等中)。 例如,通过将键值对传递给构造函数(在Python中dict不是list)来创建它们,就像创建Python字典一样: x = list("ev1"=10, "ev2"=15, "rv"="Group 1") 然后您就可以像访问Python词典那样访问R列表中的项目,例如x['ev1']。同样,您可以通过以下方式仅检索“键”或“值”: names(x) # fetch just the 'keys' of an R list # [1] "ev1" "ev2" "rv" unlist(x) # fetch just the 'values' of an R list # ev1 ev2 rv # "10" "15" "Group …