可能重複:
In R, what is the difference between the [] and [[]] notations for accessing the elements of a list?R中數據幀的[1],[1,],[,1],[[1]]有什麼區別?
我感到困惑與[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
中使用,但爲什麼它們都可用於數據幀?
有人可以解釋這些用法的區別嗎?
實際上[[]]也可以與數據幀一起使用 – Alex