2011-02-18 16 views

回答

2

您可以使用列表來存儲任何你想要的,甚至數據框或其他列表!你確實可以分配不同的長度矢量,甚至完全不同的對象。它可以使用美元符號指數爲您提供相同的功能dataframes在於:

> fooList <- list(a=1:12, b=1:11, c=1:10) 
> fooList$a 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 
> fooDF <- data.frame(a=1:10, b=1:10, c=1:10) 
> fooDF$a 
[1] 1 2 3 4 5 6 7 8 9 10 

但數字索引不同的是:

> fooList[[1]] 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 
> fooDF[,1] 
[1] 1 2 3 4 5 6 7 8 9 10 

以及結構和打印方法:

> fooList 


$a 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 

$b 
[1] 1 2 3 4 5 6 7 8 9 10 11 

$c 
[1] 1 2 3 4 5 6 7 8 9 10 

> fooDF 
    a b c 
1 1 1 1 
2 2 2 2 
3 3 3 3 
4 4 4 4 
5 5 5 5 
6 6 6 6 
7 7 7 7 
8 8 8 8 
9 9 9 9 
10 10 10 10 

簡單地說,一個數據幀是一個矩陣和一個容器的列表。

列表是爲了將各種東西放在一起,數據框是通常的數據格式(每行的主題/案例和每列的變量)。它用於許多分析,允許索引一個主題的分數,可以更容易地轉換和其他東西。

但是,如果您有不同長度的列,那麼我懷疑每行都與您的數據中的主題/案例相似。在這種情況下,我猜你不需要太多的數據框功能。

如果每行確實與主題/大小相似,那麼您應該使用NA來查找任何缺失值並使用數據框。

+4

數據幀實際上不是矩陣。它更像是一種特殊的列表,它具有一些類矩陣特性。 – Ista 2011-02-18 18:42:30

相關問題