Анализ вложенных YAML Golang

Функция pmax была бы полезной здесь. Единственный улов состоит в том, что в качестве параметров требуется куча векторов. Вы можете преобразовать data.frame в параметры с помощью do.call. Я также установил 9 значений в NA, как это было предложено другими, но сделайте это, используя несколько нетрадиционную команду is.na<-.

do.call(pmax, c(`is.na<-`(df, df==9), na.rm=T))
# [1] 5 6 7
-1
задан jhall1990 13 July 2018 в 13:22
поделиться

1 ответ

Определение вашего типа:

type keys struct {
    Key1 map[string]key1 `yaml:"key1"`
}

type key1 struct {
    Attr1 string   `yaml:"attr1"`
    Attr2 string   `yaml:"attr2"`
    Attr3 string   `yaml:"attr3"`
    List1 []string `yaml:"list1"`
    List2 []string `yaml:"list2"`
}

Использует эту структуру:

key1:
    stuff:
        attr1: "attr1"
        attr2: "attr2"
        attr3: "attr3"
        list1: ["a", "b", "c"]
        list2: ["d", "e", "f"]
    morestuff:
        attr1: "attr1"
        attr2: "attr2"
        attr3: "attr3"
        list1: ["a", "b", "c"]
        list2: ["d", "e", "f"]

Поскольку для вашего типа данных key1 должен содержать карту ключей к structs - добавление уровня к иерархии, которая не существует. Для YAML, который вы опубликовали, ваша структура должна быть:

type keys struct {
    Key1 key1 `yaml:"key1"`
}

type key1 struct {
    Attr1 string   `yaml:"attr1"`
    Attr2 string   `yaml:"attr2"`
    Attr3 string   `yaml:"attr3"`
    List1 []string `yaml:"list1"`
    List2 []string `yaml:"list2"`
}
2
ответ дан Adrian 17 August 2018 в 12:45
поделиться
Другие вопросы по тегам:

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