(IV) Funkcja Length()

Następną funkcją opisową, którą wyjaśnimy, jest length(). Argumentem length() może być dowolny tryb obiektu. W przypadku obiektów atomowych length() zwraca liczbę elementów w obiekcie. W przypadku obiektów list, length() zwraca liczbę elementów najwyższego poziomu. W przypadku funkcji length() zwraca jeden. W przypadku wywołań length() zwraca liczbę argumentów wprowadzonych podczas tworzenia wywołania. W przypadku nazw length () zwraca jeden. W przypadku wyrażeń length () zwraca liczbę elementów w wyrażeniu. Oto kilka przykładów:

> mat=matrix(1:4,2,2)

> mat

[,1] [,2]

[1,] 1 3

[2,] 2 4

> length(mat)

[1] 4

> a.list=list(mat, c(“abc”,”cde”))

> a.list

[[1]]

[,1] [,2]

[1,] 1 3

[2,] 2 4

[[2]]

[1] “abc” “cde”

> length(a.list)

[1] 2

> a.fun = function(mu, se=1, alpha=.05){

z_value = qnorm(1-alpha/2, mu, se)

print(z_value)

}

> length(a.fun)

[1] 1

> a.call=call(“lm”, y~x)

> a.call

lm(y ~ x)

> length(a.call)

[1] 2

> a.name

`1`

> length(a.name)

[1] 1

> a.exp = expression(a.call, sin(1:5/180 * pi))

> a.exp

expression(a.call, sin(1:5/180 * pi))

> length(a.exp)

[1] 2

Długość obiektu atomowego lub listy można przypisać za pomocą funkcji length (). W przypadku innych obiektów trybu próba przypisania length () zwraca błąd. Jeśli n jest długością obiektu atomowego, to ustawienie długości na wartość większą niż n generuje NA dla dodatkowych elementów. Ustawienie długości mniejszej niż n usuwa dodatkowe elementy. W obu przypadkach a vector jest zwracany, chyba że długość nie zostanie zmieniona, w takim przypadku zwracany jest oryginalny obiekt. Oto przykład:

> mat

[,1] [,2]

[1,] 1 3

[2,] 2 4

> mat.2 = mat

> length(mat.2)=6

> mat.2

[1] 1 2 3 4 NA NA

> mat.2 = mat

> length(mat.2)=3

> mat.2

[1] 1 2 3

> mat.2 = mat

> length(mat.2)=4

> mat.2

[,1] [,2]

[1,] 1 3

[2,] 2 4

W przypadku obiektów listy trybów wydłużenie listy powoduje dodanie elementów NULL na najwyższym poziomie, a skrócenie listy powoduje usunięcie elementów na najwyższym poziomie. Oto przykład:

> a.list

[[1]]

cl1 cl2

[1,] 1 3

[2,] 2 4

[[2]]

[1] “abc” “cde”

> length(a.list)=4

> a.list

[[1]]

cl1 cl2

[1,] 1 3

[2,] 2 4

[[2]]

[1] “abc” “cde”

[[3]]

NULL

[[4]]

NULL

> length(a.list)=3

> a.list

[[1]]

cl1 cl2

[1,] 1 3

[2,] 2 4

[[2]]

[1] “abc” “cde”

[[3]]

NULL

Więcej informacji na temat length() można znaleźć, wpisując ?length w wierszu polecenia R.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *