Вы вводите gsub()
строку символов, содержащую имя вашей переменной.Чтобы получить действительную переменную, используйте get(paste("annotateData$", sampleId[value], sep = ""))
Редактировать
aux=get("annotateData")
var=aux[,sampleID[value]]
В этом случае var
содержит значение annotateData$Genotype_SM01
edit 2
, переработав вашу проблему, следующий код должен делать то, что вы хотите.
annotateData=data.frame("Genotype_SM01"=c("a","a","b"),
"Genotype_SM02"=c("a","a","a"),
"Genotype_SM02"=c("b","b","a"),
stringsAsFactors = FALSE)
sampleId=names(annotateData)
sampleNumber <- c(1:length(sampleId))
for (value in sampleNumber){
aux=annotateData[,sampleID[value]]
aux <- gsub("0\\/0", "ref", aux)
aux <- gsub("0\\/1|0\\/2|0\\/3|1\\/2|1\\/3|2\\/3", "het", aux)
aux <- gsub("1\\/1|2\\/2|3\\/3", "hom", aux)
annotateData[,sampleID[value]]=aux
}