Dificuldade de rodar uma função

olá,

Estou tentando rodar esse seguinte codigo:
R = pedlist ← with(novo,
+ +pedigree(id=id, dadid=fid, momid=mid, sex=sex))

R= kinmat ← kinship(pedlist)

porém o mesmo aparece o seguinte erro:

Error in pedigree(id = id, dadid = fid, momid = mid, sex = sex) : **
** Id not male, but is a father: 2272646 1673512 2247788 1265593 2973635

A minha duvida é o seguinte existe uma função na qual posso substituir todos os animais que forem pais eu colocar sexo 1 - macho? ou vice versa

1 curtida

Olá Brena,

Não sei se entendi muito bem a sua pergunta, mas vou tentar te ajudar. O código realmente está complicado de entender, visto que ele não é reproduzível, já com a sua frase “A minha duvida é o seguinte existe uma função na qual posso substituir todos os animais que forem pais eu colocar sexo 1 - macho? ou vice versa” dá pra tentar. Veja abaixo:

base_a <- tibble::tribble(
  ~Animal, 
  "VACA",   
  "BOI",  
  "GATO"
)

#criando a variável de sexo de acordo com o nome do animal

base_a %>% 
  dplyr::mutate(sexo_1 = dplyr::case_when(Animal == "BOI" | Animal == "GATO" ~ "Macho",
                                          TRUE ~"Fêmea"))

Agora, se você tem um grupo de animais que possuem um padrão para machos é só você alterar as strings. Você pode usar regex também se for muitos nomes diferentes.

Se não for isso, manda aqui mais detalhes que tenho lhe ajudar.

Até+