在R语言中,[ ]和[[ ]]有什么区别?

13
  > levels(state.region)[2]
    [1] "S"
    > levels(state.region)[[2]]
    [1] "S"

它们返回相同的值,所以我不知道它们之间有什么区别。

1个回答

13

[] = 始终返回相同类别的对象(基本对象类别之一),可以选择对象中的多个元素

[[]] = 可以从列表或数据框中提取一个元素,返回的对象(基本对象类别之一)不一定是列表/数据框


6
[[ 不仅可以从列表或数据框中提取元素,还可以用于向量、矩阵、环境等其他数据类型。 - Joshua Ulrich
1
这里已经很晚了...但是当应用于向量或矩阵时,[[有什么用处呢?我想不出任何与[不同的例子(就像OP的问题所展示的那样)。 - RTbecard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接