R 提供了两种不同的方法来访问列表或 data.frame 的元素:[]和[[]]。
[]
[[]]
两者有什么区别,什么时候应该使用其中一个?
R 语言定义对于回答这些类型的问题很方便:
R 具有三个基本的索引运算符,语法由以下示例显示 `` x[i] x[i, j] x[[i]] x[[i, j]] x$a x$"a" 对于向量和矩阵,[[形式很少使用,尽管它们与形式有一些细微的语义差异[(例如,它删除了任何名称或 dimnames 属性,并且部分匹配用于字符索引)。使用单个索引索引多维结构时,x[[i]]或x[i]将返回 的i第 th 个顺序元素x。 对于列表,通常用于[[选择任何单个元素,而[返回所选元素的列表。 该[[表单仅允许使用整数或字符索引选择单个元素,而[允许通过向量进行索引。请注意,尽管对于列表,索引可以是向量,并且向量的每个元素依次应用于列表、所选组件、该组件的所选组件等。结果仍然是单个元素。
R 具有三个基本的索引运算符,语法由以下示例显示
``
x[i] x[i, j] x[[i]] x[[i, j]] x$a x$"a"
对于向量和矩阵,[[形式很少使用,尽管它们与形式有一些细微的语义差异[(例如,它删除了任何名称或 dimnames 属性,并且部分匹配用于字符索引)。使用单个索引索引多维结构时,x[[i]]或x[i]将返回 的i第 th 个顺序元素x。
[[
[
x[[i]]
x[i]
i
x
对于列表,通常用于[[选择任何单个元素,而[返回所选元素的列表。
该[[表单仅允许使用整数或字符索引选择单个元素,而[允许通过向量进行索引。请注意,尽管对于列表,索引可以是向量,并且向量的每个元素依次应用于列表、所选组件、该组件的所选组件等。结果仍然是单个元素。