Hello All,

I'm trying to create a matrix from a dataframe (let's call it df):
......a......b.....c.....d
a   inputs      output
b   inputs      output
c   inputs      output
d   inputs      output
e   inputs      output

The inputs are represented by columns a and b
The outputs are represented by columns c and d, but the only outputs are
those from column d
- some values from column d are NA
- column d was created with the code:

df$d=rank(df$c, na.last="keep")

#----------R Code---------#
item=unique(df$a)
n=length(list)

r=matrix(data=NA,nrow=n, ncol=n, dimnames=list(PRR1=item, PRR2=item))

for(j in 2:ln)
{
  for(i in 1:(j-1))
  {
    input1=rownames(r)[i]
    input2=colnames(r)[j]

    q=df[(df$a==input1 & df$b==input2), "d"]

    if(length(q)==0)
    {
      q=df[(df$a==input2 & df$b==input1), "d"]
    }

    if(length(q)==0)
    {
      q=NA
    }

    r[j,i]=q
    r[i,j]=q
    r[j,j]=q
  }
}

The result is a matrix with the appropriate dimensions, but everything is
filled with NA instead of the rankings of the various combinations. I'd like
for the matrix to be filled with the ranking values--what have I done wrong?
-- 
Best,
Dat Mai
PhD Rotation Student
Albert Einstein College of Medicine

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

Reply via email to