On Jul 14, 2009, at 7:14 AM, Gaurav Kumar wrote:

Hi R -users,

i've a table as describe below. I'm reading the numeric value presented in this table to populate a list.

#table
#============
#X    A    B    C
#x1    2    3    4
#x2    5    7    10
#x4    2    3    5
#============

rawData <- read.table("raw_data.txt",header=T, sep="\t")
myList=list()
counter=0
for (i in c(1:length(rawData$X)))
{
    print (i)
    myList[counter <- counter +1]=as.numeric(rawData$A[i]);
    myList[counter <- counter +1]=as.numeric(rawData$B[i]);
    myList[counter <- counter +1]=as.numeric(rawData$C[i]);
}
print(myList)

comp <- factor(rep(c("A","B","C"),c(3,3,3)))
cell <- factor(rep(c("x1","x2","x3"),3))

t <- data.frame(comp,cell)
print(t)

i'm looking for the output show below
#  comp cell value
#1    A   x1   2
#2    A   x2   5
#3    A   x3   2
#4    B   x1   3
#5    B   x2   7
#6    B   x3   3
#7    C   x1   4
#8    C   x2   10
#9    C   x3   5

Help needed as how i should provide list as a third argument to data.frame().

Thanks in advance.

Read your data in as follows:

# Set the rownames to the values in 'X' and coerce to a matrix
rawData <- as.matrix(read.table("raw_data.txt", header = TRUE,
                                sep = "\t", row.names = "X"))


# Note that you have 'x3' in your results, but 'x4' was in the
# initial data table, so I kept 'x4'
> rawData
   A B  C
x1 2 3  4
x2 5 7 10
x4 2 3  5


# Set the row and column names
names(dimnames(rawData)) <- list("cell", "comp")

> rawData
    comp
cell A B  C
  x1 2 3  4
  x2 5 7 10
  x4 2 3  5


# See ?as.data.frame.table
> as.data.frame.table(rawData, responseName = "value")
  cell comp value
1   x1    A     2
2   x2    A     5
3   x4    A     2
4   x1    B     3
5   x2    B     7
6   x4    B     3
7   x1    C     4
8   x2    C    10
9   x4    C     5


HTH,

Marc Schwartz

______________________________________________
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