Má nějaký speciální důvod obalovat většinu výpisů do print(...)? V 99,9 % případů mi to přijde zbytečné. Srovnejte:
> lst <- list("foo", "bar", "baz")
> print(lst[1])
[[1]]
[1] "foo"
> lst[1]
[[1]]
[1] "foo"
> print(class(lst[[1]]))
[1] "character"
> class(lst[[1]])
[1] "character"
> lst2 <- list(name="Fred", wife="Mary", no.children=3, child.ages=c(4,7,9))
> print(lst2["name"])
$name
[1] "Fred"
> lst2["name"]
$name
[1] "Fred"
> print(class(lst))
[1] "list"
> class(lst)
[1] "list"
S read.table() a odvozeninami ( read.csv() je její speciální případ) si lze užít spoustu legrace, zvlášť, když člověk potřebuje naimportovat výstup nějakého jiného svérázného SW. Existují i funkce na import z Excelu, ale ty jsem nikdy nezkoušel. :-) Podobně si lze užít spoustu legrace s indexováním a filtrováním datových rámců, ale to, předpokládám, přijde příště. :-)
Ten import z Excelu je hodně problémový a vypadá to, že Excel se chová (stále - už několik desetiletí!) různě podle toho, o jakou národní variantu se jedná. Takže CSV je sice někdy docela zlo, ale pořád je možné ta data něčím předchroustat (mám "opravovací skripty" pro určité vstupy).
Filtrace bude v samostatném článku, příští týden :-)
PS: na druhou stranu, díky za CSV nebo Excel sheety. Někdo musí pracovat i s horšími formáty: https://github.com/h0n24/khs-screens#pou%C5%BEit%C3%A9-technologie (to by člověk až zuřil, že ani takové informace nejsou dostupné v tabulce, ale musí se na to pouštět OCR)