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

Python013

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 :

p匹配的是它自己,这就是原义表达式。

本来只想匹配 . ,但是在这里这个点代表了所有字符,于是返回了1 2 3。这个. 就是一个转义表达式。

分别提取含7-9的数字或3-4的数字的字符串

^XX就是以XX开头的意思

当^放在方括号内是取非的意思

2{2,3}是寻找2倍重复了2到3次的意思

2{2,}是寻找2倍重复了大于2次(2到+无穷)的意思

fo+表示+紧跟着的o可以被重复1次或1次以上

大括号也可以起到这样的作用

若想让紧跟在o后面的对fo都起作用,需要小括号

与+用法一致。+表示重复了1次或1次以上,*表示0次或0次以上。

.* 可以匹配任意字符

管道符连接前后,符合其一即会被返回

\\b也可以起到一样的作用,但\\b更灵活,既可以放开头也可以放结尾。(\\b主要是匹配边界)

\的作用就是说明^不是开头的意思,是要去匹配这个符号

对所有的转义符号都适用