Re: [問題] 將多個data frame放入list進行操作
:
: 另外請問list與array的差別是?
:
一般來說,R 的數值物件都是向量,
ex:
```
x <- pi
show(x)
length(x)
dim(x)
```
這表示x 是一個長度1 的向量。
向量加上dimension的概念後就變成array
ex:
```
dim(x) <- c(1,1)
show(x)
class(x)
dim(x) <- c(1,1,1)
show(x)
class(x)
dim(x)
```
以上述為例,x 是個數值向量,而matrix, array本質上也是數值向量。
你只要拿掉dim 之後就變回去了。
但是 list 不一樣,
list 是裝著一堆R物件的向量。所以list裡面可以放任何東西,如:
- 數值
- matrix
- array
- data.frame ( ps. data.frame的本質是 list, 和array/matrix差別很多 )
- list
- 函數
ex:
```
x <- list()
x[[1]] <- pi
x[[2]] <- iris
x[[3]] <- Sys.time
x[[3]]()
```
list 和 一般的向量最大的不同,就在於list可以裝不一樣的物件。
以字串和數值為例,你沒辦法讓一個向量同時有數值和字串:
```
x <- 1:10
show(x)
x[10] <- "10"
show(x)
```
同理,matrix和array也有同樣的狀況
```
x <- matrix(1:10, 5, 2)
show(x)
x[1,2] <- "6"
show(x)
```
但是list沒有這樣的限制:
```
class(iris[,1])
class(iris[,5])
```
這也是為什麼data.frame的底層是list, 而不能用一般的向量的緣故。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.70.185
→
01/29 22:57, , 1F
01/29 22:57, 1F
推
02/08 22:35, , 2F
02/08 22:35, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章