общие типы контейнеров, используемые в R: data.tables, data.frames, матрицы и списки (возможно, еще ?!). Все эти типы хранилищ имеют немного разные правила индексации. Допустим, у нас есть простой dataset
с именованными столбцами:
name1 name2
1 11
2 12
... ...
10 20
Теперь мы поместим эти данные в каждый контейнер соответственно. Если я хочу индексировать число 5 в столбце name1
, оно выглядит следующим образом:
lists: dataset[['name1']][5]
-> why the double brackets?!?!
data frames: dataset$name1[5] or dataset[5,'name1']
-> here are two options possible, why the ambiguity?!?
data table: dataset$name1[5]
-> why is it here only one possibility
Я часто сталкиваюсь с этой проблемой и, исходя из python, это что-то очень странное. Кроме того, это приводит к чрезвычайно утомительной отладке. В python это решается очень единообразным способом, где индексация является довольно стандартной для списков, numpy массивов, pandas фреймов данных и т. Д. c.