2013-10-02 2 views
0

Люди -Что случилось с назначением именования этого списка?

Я собираюсь оставить здесь свой код здесь, как я думаю, тем, кто знаком с R, это будет очевидно. Я пытаюсь использовать функцию (не мою), которая требует, чтобы я подал ей список названных списков параметров. У меня возникли проблемы с именами списков с помощью функции, которую я написал, чтобы создать каждый элемент списка. Вот моя функция:

# for invoking grts 
stratumdesign<- function(ns, points, oversamp) { 
    stratumname<-as.character(ns) 
    print("from function") 
    print(stratumname) 

    designlist<-list(ns=c(panel=points, seltype="Equal", over=oversamp)) 
    return(designlist) 
} 

.. Я попробовал оба имеют вызов функции имеет нс целочисленное это в коде инициирующего или передаваться как символ. Ни одна из них не работает. То, что я иллюстрирую здесь для себя в функции, состоит в том, что ns правильно передается функции, но полученный результирующий список всегда называется «$ ns», когда я хочу, чтобы это значение передавалось AS ns! Что на земле я делаю не так, здесь?

+4

Просто используйте функцию 'names', который специально для установки имен объектов , – joran

+0

Используйте 'names <-' или' setNames'. – Roland

ответ

1

Поскольку это заслуживает фактического ответа, а не просто комментарий ...

Попробуйте что-то больше, как это:

stratumdesign<- function(ns, points, oversamp) { 
    print("from function") 
    print(stratumname) 

    designlist<-list(c(panel=points, seltype="Equal", over=oversamp)) 
    names(designlist) <- as.character(ns) 
    return(designlist) 
} 
+0

СПАСИБО, Йоран. Это было очень полезно. Это не очевидно для программиста, который новичок в программировании R. –

Смежные вопросы