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

Python019

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这个变量。

r言语通常用符号”<-”代替其它语言里的”=”来作赋值符号。前者敲起来比=要麻烦,而且大部分情况下两者是等价的,所以通常就依旧用”=”来赋值。