r -括号[ ]和双括号[[ ]]之间的差异,用于访问列表或数据帧的元素、
两者都是子集化的方式。单个括号将返回列表的子集,它本身就是一个列表。即,它可以包含或不包含一个以上的元素。另一方面,双括号将只返回列表中的一个元素。
-单括号会给我们一个列表。如果我们希望从列表中返回多个元素,我们也可以使用单括号。考虑以下列表:
> r<-list(c(1:10),foo=1,far=2);
现在,请注意当我试图显示它时,列表的返回方式。我输入r,然后按回车键。
>r
#the result is:-
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
$foo
[1] 1
$far
[1] 2
现在我们将看到单括号的魔力:
>r[c(1,2,3)]
#the above command will return a list with all three elements of the actual list r as below
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
$foo
[1] 1
$far
[1] 2
这与我们试图在屏幕上显示r的值时完全相同,这意味着使用单括号返回了一个列表,其中在索引1处,我们有一个10个元素的向量,然后我们有两个名为foo和far的元素。我们也可以选择给单个括号一个索引或元素名作为输入。例如:
> r[1]
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
在这个例子中,我们给出了一个索引“1”,作为回报,我们得到了一个包含一个元素的列表(