Hello,

My R skills are somewhere between novice and intermediary, and I am hoping that 
some of you very helpful forum members, whom I've seen work your magic on other 
peoples' problems/questions, can help me here.

I have a matrix with the following format:

(i) individual plants comprising many different genotype groups (i.e., a plant 
is genotype 1 or genotype 2 or genotype 3, etc). The column for genotypes is 
called "gen", and the plants are members of genotype class 1 - 309, with no 
overlaps (i.e., you're either a genotype 1 or a genotype something else, but 
not both) and no missing values.
(ii) Various trait measurements taken on the plants, with multiple replicates 
per genotype group

I want to create a covariance matrix, separately for plants from each genotype 
group. I know how to use the command "cov"; my problem is that I have 309 
different genotype groups and so I need to set up some sort of an automated 
loop to go through each genotype group and create a separate covariance matrix 
based on it.

My question is, how do I make a loop to automatically go through and create 
these covariance matrices, i.e., a separate covariance matrix for plants from 
each genotype group?

I am familiar with the "for" command, but I cannot get it to work. Here is my 
code:

christina= read.table("christina.txt", sep= ",", na= "NA", header= TRUE)
{for (i in 1:309)
christina.i= subset(christina, gen == i)
christina.i.clean= christina.i[,-1]
christina.matrix.i= as.matrix(christina.i.clean)
christina.cov.i= cov(christina.matrix.i, y= NULL, use= "complete.obs", method= 
c("pearson"))
write.table(christina.cov.i, sep= ",", file= "covariances.csv", row.names= 
FALSE, col.names= FALSE, append= TRUE)}


The problem occurs at my code snippet "gen == i". I want R to insert a number 
in place of "i", depending on what round of the loop it is on, but R insists 
that I am literally referring to a genotype class named "i". I have made sure 
that the column "gen" is numeric, but the same problem persists if I make the 
column a factor instead.

Any help would be much appreciated, but help that includes sample code would be 
most useful. Thank you in advance!

Sincerely,
Josh

______________________________________________
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.

Reply via email to