Data Structure - List

Q

What is data structure "List"?

✍: FYIcenter.com

A

List is a special vector whose members are all lists.

1. Create a list object with the list() function -

```> w = list( c(1,2,3), c("Apple", "Banana", "Orange"))
> w
[[1]]
[1] 1 2 3

[[2]]
[1] "Apple"  "Banana" "Orange"

> is.list(w)
[1] TRUE

> is.vector(w)
[1] TRUE
```

2. Get vector length and members - Remember that member indexes start from 1.

```> w = list( c(1,2,3), c("Apple", "Banana", "Orange"))

> length(w)
[1] 2

> w[2]
[[1]]
[1] "Apple"  "Banana" "Orange"

> typeof(w[2])
[1] "list"

> length(w[2])
[1] 1
```

Since single square bracket [] only creates a sub-set of the vector, you need to use double square bracket [[]] access a list component.

```> w = list( c(1,2,3), c("Apple", "Banana", "Orange"))

> w[2]
[[1]]
[1] "Apple"  "Banana" "Orange"

> typeof(w[2])
[1] "list"

> w[[2]]
[1] "Apple"  "Banana" "Orange"

> typeof(w[[2]])
[1] "character"

> w[[2]][2]
[1] "Banana"
```

So if "w" is a list, w[2] is still a sub-list with only the second component in it. w[[2]] is a vector and refers to the second component. w[[2]][2] now is a sub-vector with only the second value of the second component.

2023-06-11, 359🔥, 0💬