R语言中括号[1]与双中括号[[1]]的差异?

Python022

R语言中括号[1]与双中括号[[1]]的差异?,第1张

两者作用都是“提取”,当从一个向量或矩阵中提取第3个元素时,两者结果相同!

当数据不是一个list时,情况就不同了。

[] extracts a list, [[]] extracts elements within the list

The [[ form allows only a single element to be selected using integer or character indices, whereas [ allows indexing by vectors.

令一个区别是 [[ 可通过参数“exact”激活模糊匹配,[]则不行。

参考文献1: https://blog.csdn.net/yiifaa/article/details/73252980

参考文献2: https://ask.csdn.net/questions/707505 :

R里通常用符号”<-”代替其它语言里的”=”来作赋值符号。因为前者敲起来比等号要麻烦,且大部分情况下两者是等价的,所以通常就愉懒依旧用”=”来赋值。但要切记两者在某些时候是有区别的。字面上的解释,可以认为”<-”是赋值,”=”是传值。在函数调用中,func(x=1)与func(x<-1)是有区别的,前者调用完后变量x不会被保留,而后者会在工作区里保留变量x=1。再如length(x=seq(1,10))计算完成后x不会被保留,而length(x<-seq(1,10))计算完后你会在工作区里发现x这个变量。