Learn R Programming

synbreed (version 0.12-9)

add.individuals: Add new individuals to objects of class gpData

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
# NOT RUN {
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 DataLab