R seznamy
Seznamy
Seznam v R může obsahovat mnoho různých datových typů. Seznam je sbírka dat, která jsou uspořádaná a měnitelná.
Chcete-li vytvořit seznam, použijte list()
funkci:
Příklad
# List of strings
thislist <- list("apple", "banana", "cherry")
# Print the list
thislist
Přístupové seznamy
K položkám seznamu se dostanete odkazem na jejich indexové číslo v závorkách. První položka má index 1, druhá položka má index 2 a tak dále:
Příklad
thislist <- list("apple", "banana", "cherry")
thislist[1]
Změnit hodnotu položky
Chcete-li změnit hodnotu konkrétní položky, podívejte se na číslo indexu:
Příklad
thislist <- list("apple", "banana", "cherry")
thislist[1] <- "blackcurrant"
# Print the updated list
thislist
Délka seznamu
Chcete-li zjistit, kolik položek má seznam, použijte length()
funkci:
Příklad
thislist <- list("apple", "banana", "cherry")
length(thislist)
Zkontrolujte, zda položka existuje
Chcete-li zjistit, zda je určitá položka přítomna v seznamu, použijte %in%
operátor:
Příklad
Zkontrolujte, zda je v seznamu uvedeno „jablko“:
thislist <- list("apple", "banana", "cherry")
"apple" %in% thislist
Přidat položky seznamu
Chcete-li přidat položku na konec seznamu, použijte append()
funkci:
Příklad
Přidejte „oranžovou“ do seznamu:
thislist <- list("apple", "banana", "cherry")
append(thislist,
"orange")
Chcete-li přidat položku napravo od zadaného indexu, přidejte do funkce „ “ :after=index number
append()
Příklad
Přidejte „pomeranč“ do seznamu za „banán“ (index 2):
thislist <- list("apple", "banana", "cherry")
append(thislist,
"orange", after = 2)
Odebrat položky seznamu
Položky seznamu můžete také odstranit. Následující příklad vytvoří nový, aktualizovaný seznam bez položky „jablko“:
Příklad
Odebrat "jablko" ze seznamu:
thislist <- list("apple", "banana", "cherry")
newlist <- thislist[-1]
# Print the new list
newlist
Rozsah indexů
Rozsah indexů můžete určit určením, kde začít a kde ukončit rozsah, pomocí :
operátoru:
Příklad
Vraťte druhou, třetí, čtvrtou a pátou položku:
thislist <- list("apple", "banana", "cherry", "orange", "kiwi", "melon",
"mango")
(thislist)[2:5]
Poznámka: Vyhledávání začne na indexu 2 (včetně) a skončí na indexu 5 (včetně).
Pamatujte, že první položka má index 1.
Procházet seznamem
Položky seznamu můžete procházet pomocí for
smyčky:
Příklad
Vytiskněte všechny položky v seznamu jednu po druhé:
thislist <- list("apple", "banana", "cherry")
for (x in thislist) {
print(x)
}
Připojte se ke dvěma seznamům
Existuje několik způsobů, jak spojit nebo zřetězit dva nebo více seznamů v R.
Nejběžnějším způsobem je použití c()
funkce, která kombinuje dva prvky dohromady:
Příklad
list1 <- list("a", "b", "c")
list2 <- list(1,2,3)
list3 <-
c(list1,list2)
list3