Я пытаюсь сделать дизайн матрицы в R для животных эффект.
У меня есть файл родословной и файл данных.
Файл данных (2 столбца, один для идентификатора животного и один для признака - в этом случае надои молока):
AnimalID Trait
2 10
COWX1 11
3 22
RO500 13
ANGUS50X 12
PED-файл (3 столбца, первый - идентификатор животного, второй - идентификатор матери и последний идентификатор отца):
AnimalID MotherID FatherID
7 0 0
10 0 0
2 0 0
COWX1 7 10
5 7 0
3 0 10
RO500 2 0
ANGUS50X COWX1 0
В конце я хочу получить эту матрицу дизайна:
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Матрица имеет 5 строк и 8 столбцов. 5 строк, потому что есть 5 животных с зарегистрированным признаком и 8 столбцов, потому что все животные - 8.
В данный момент я использую функцию для получения матрицы дизайна, но она работает, только если я перекодирую Животные. Код должен начинаться с 1 и должен быть последовательно.
Пример:
Животное 7 - 1, 10 - 2, 2 - 3, COWX1 - 4, 5 - 5, 3 - 6, RO500 - 7 и ANGUS50X - 8.
Я не хочу перекодировать и хочу использовать идентификационный номер животного, полученный от фермеров.
Функция, которую я сейчас использую:
animal <- factor(c(3,4,6,7,8), levels=1:8)
model.matrix(~ animal + 0)
Кто-нибудь может мне помочь в этой проблеме?
Спасибо!