synbreed (version 0.12-6)

add.individuals:

Description

This function extends an object of class gpData by adding new phenotypes, genotypes and pedigree.

Usage

add.individuals(gpData, pheno = NULL, geno = NULL,
                pedigree = NULL, covar = NULL, repl=NULL)

Arguments

gpData
object of class gpData to be updated
pheno
data.frame with new rows for phenotypes with rownames indicating individuals. For repeated values the ID should be stored in a column with name "ID".
geno
matrix with new rows for genotypic data with rownames indicating individuals
pedigree
data.frame with new rows for pedigree data
covar
data.frame with new rows for covar information with rownames indicating individuals
repl
The column of the pheno data.frame for the replicated measures. If the values are not repeated or this column is named "repl" this argument is not needed.

Value

object of class gpData with new individuals

Details

colnames in geno, pheno and pedigree must match existing names in gpData object.

See Also

add.markers, discard.individuals

Examples

Run this code
set.seed(311)
pheno <- data.frame(Yield = rnorm(10,200,5),Height=rnorm(10,100,1))
rownames(pheno) <- letters[1:10]
geno <- matrix(sample(c("A","A/B","B",NA),size=120,replace=TRUE,
prob=c(0.6,0.2,0.1,0.1)),nrow=10)
rownames(geno) <-  letters[1:10]
colnames(geno) <- paste("M",1:12,sep="")
# one SNP is not mapped (M5)
map <- data.frame(chr=rep(1:3,each=4),pos=rep(1:12))
map  <- map[-5,]
rownames(map) <- paste("M",c(1:4,6:12),sep="")
gp <- create.gpData(pheno=pheno,geno=geno,map=map)
summary(gp)

#new phenotypic data
newPheno <- data.frame(Yield=200,Height=100,row.names="newLine")
# simulating genotypic data
newGeno <- matrix(sample(c("A","A/B","B"),ncol(gp$geno),replace=TRUE),nrow=1)
rownames(newGeno) <- "newLine"
# new pedigree
newPedigree <- create.pedigree(ID="newLine",Par1=0,Par2=0,gener=0)

gp2 <- add.individuals(gp,pheno=newPheno,geno=newGeno,pedigree=newPedigree)


## Not run: ------------------------------------
# # add one new DH line to maize data
# library(synbreedData)
# data(maize)
# newDHpheno <- data.frame(Trait=1000,row.names="newDH")
# # simulating genotypic data
# newDHgeno <- matrix(sample(c(0,1),ncol(maize$geno),replace=TRUE),nrow=1)
# rownames(newDHgeno) <- "newDH"
# # new pedigree
# newDHpedigree <-  create.pedigree(ID="newDH",Par1=0,Par2=0,gener=0)
# # new covar information
# newDHcovar <- data.frame(family=NA,DH=1,tbv=1000,row.names="newDH")
# 
# # add individual
# maize2 <- add.individuals(maize,newDHpheno,newDHgeno,newDHpedigree,newDHcovar)
# summary(maize2)
## ---------------------------------------------

Run the code above in your browser using DataCamp Workspace