Эквивалент python dict в R
Я хочу сделать эквивалент python dict в R. В принципе, на python у меня есть:
visited = {}
if atom_count not in visited:
Do stuff
visited[atom_count] = 1
Идея заключается в том, что если я увидел этот конкретный, atom_count, я посетил [atom_count] = 1. Таким образом, если я снова увижу этот atom_count, я не "Делаю материал". Atom_Count - целое число.
Спасибо!
Ответы
Ответ 1
Ближайшая вещь к python dict в R - это просто список. Как и большинство типов данных R, списки могут иметь атрибут имен, который позволяет спискам действовать как набор пар имя-значение:
> l <- list(a = 1,b = "foo",c = 1:5)
> l
$a
[1] 1
$b
[1] "foo"
$c
[1] 1 2 3 4 5
> l[['c']]
[1] 1 2 3 4 5
> l[['b']]
[1] "foo"
Теперь для обычного отказа от ответственности: они не совсем одинаковы; будут различия. Таким образом, вы будете разочаровываться, пытаясь буквально использовать списки именно так, как вы можете использовать dict в python.
Ответ 2
Я считаю, что использование хэш-таблицы (создание новой среды) может быть решением вашей проблемы. Я бы сказал, как это сделать, но я только что сделал это вчера на talkstats.com.
Если ваш словарь большой и всего два столбца, то это может быть путь. Здесь ссылка на поток talkstats с образцом R-кода:
HASH TABLE LINK