可能重复:
在R,就是用于访问列表的元素[]和[[]]符号之间的差异?
我很困惑与差[1],[1,],[1],[[1]]对于数据帧类型。
据我所知,[1,]将取一个的第一行matrix
,[1]将获取的第一列。 [[1]]将取一个的第一个元素list
。
但我检查的文件data.frame
,它说
数据帧的行数相同的变量与唯一的行名称的列表
然后,我输入了一些代码来测试使用。
>L3 <- LETTERS[1:3]
>(d <- data.frame(cbind(x=1, y=1:10), fac=sample(L3, 10, replace=TRUE)))
x y fac
1 1 1 C
2 1 2 B
3 1 3 C
4 1 4 C
5 1 5 A
6 1 6 B
7 1 7 C
8 1 8 A
9 1 9 A
10 1 10 A
> d[1]
x
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
>d[1,]
x y fac
1 1 1 C
>d[,1]
[1] 1 1 1 1 1 1 1 1 1 1
>d[[1]]
[1] 1 1 1 1 1 1 1 1 1 1
是什么让我感到困惑的是:[1]和[,1]仅用于matrix
。 [[1]]仅在使用list
,和[1]中使用的vector
,但为什么所有的人都在数据帧可用?
任何人可以解释这些用法区别?