Hello, I'm trying to add a column to the following data frame. The new column will contain "black" when the 5th column(if_TE_related) is "TE_related", or "orange" when the 4th column is " " (space).
"chromo" "MSU_locus" "end5" "end3" "if_TE_related" "chr04" "LOC_Os04g01006" 1032 2679 "TE_related" "chr04" "LOC_Os04g01008" 7636 3951 "TE_related" "chr04" "LOC_Os04g01010" 9521 10296 "TE_related" "chr04" "LOC_Os04g01020" 17165 17437 " " "chr04" "LOC_Os04g01030" 29372 18440 "TE_related" "chr04" "LOC_Os04g01040" 30637 37300 "TE_related" ... So, after a data manipulation, it should look like the following... "chromo" "MSU_locus" "end5" "end3" "if_TE_related" "color" "chr04" "LOC_Os04g01006" 1032 2679 "TE_related" "black" "chr04" "LOC_Os04g01008" 7636 3951 "TE_related" "black" "chr04" "LOC_Os04g01010" 9521 10296 "TE_related" "black" "chr04" "LOC_Os04g01020" 17165 17437 " " "orange" "chr04" "LOC_Os04g01030" 29372 18440 "TE_related" "black" "chr04" "LOC_Os04g01040" 30637 37300 "TE_related" "black" ... I have worked on the following code to do this job using function and loop, but it is not working. If someone help me, I would really appreciate!!! The original data frame is Os.chr4.gene.new. Gene <- Os.chr4.gene.new[, c("if_TE_related")] Genecolor <- function(Gene) { lg <-length(Gene) for(i in 1:lg) { if (Gene == "TE_related") {D1 <- (Gene == "black")} if (Gene == " ") {D1 <- (Gene == "orange")} } Gene.color <- cbind(Gene, D1) write.table(Gene.color, file="Gene_color1.txt", sep="\t", row.names=F) } Genecolor(Gene) Tae-Jin Researcher in NC State University [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.