Как добавить переменную пару ключ/значение к объекту списка?

Я особенно люблю этот пример из файла состояния:

#define BITCOUNT(x)    (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255)
#define BX_(x)         ((x) - (((x)>>1)&0x77777777)
                             - (((x)>>2)&0x33333333)
                             - (((x)>>3)&0x11111111))

мне нравится он лучше всего, потому что это настолько симпатично!

51
задан A5C1D2H2I1M1N2O1R2T1 16 December 2015 в 19:20
поделиться

2 ответа

Списки R можно рассматривать как хеш-векторы объектов, к которым можно получить доступ по имени. Используя этот подход, вы можете добавить новую запись в список следующим образом:

key <- "width"
value <- 32

mylist <- list()
mylist[[ key ]] <- value

Здесь мы используем строку, хранящуюся в переменной key, для доступа к позиции в списке, так же, как использование значения, хранящегося в переменной цикла i, для доступа к вектору через:

vector[ i ]

Результат:

myList
$width
[1] 32
67
ответ дан 7 November 2019 в 10:09
поделиться

Элементы списка в R могут иметь имя. Так что в вашем случае просто выполните

 > mylist = list()
 > mylist$width = value

Когда R встретит этот код

> l$somename=something

, где l - список. Он добавляет к списку элемент something и дает ему имя somename. Затем к нему можно получить доступ, используя

> l[["somename"]]

или

> l$somename

Имя можно изменить с помощью имен команд:

> names(l)[names(l)=="somename"] <- "othername"

Или, если вы теперь положение элемента в списке, выполните:

> names(l)[1] <- "someothername"
13
ответ дан 7 November 2019 в 10:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: