Michael -
   I think the easiest way is to use the melt function
from the reshape package:

x
   feature  5637 1321N1
1 feature1 -0.56  -0.93
2 feature2 -0.91  -0.94
3 feature3  0.44  -0.25
library(reshape)
melt(x,id.var='feature',variable_name='cell.line')
   feature cell.line value
1 feature1      5637 -0.56
2 feature2      5637 -0.91
3 feature3      5637  0.44
4 feature1    1321N1 -0.93
5 feature2    1321N1 -0.94
6 feature3    1321N1 -0.25


                                        - Phil Spector
                                         Statistical Computing Facility
                                         Department of Statistics
                                         UC Berkeley
                                         spec...@stat.berkeley.edu


On Fri, 23 Oct 2009, Michael Jones wrote:

Hi,

I have a data.frame that looks something like this.


feature   5637                1321N1
feature1 -0.568750616 -0.934748758
feature2 -0.913080902 -0.941455172
feature3 0.442477294 -0.257921866

I want to change it to look like this.

feature      cell.line     value
feature1    5637   -0.568750616
feature2    5637   -0.913080902
feature3    5637   0.442477294
feature1    1321N1  -0.934748758
feature2    1321N1 -0.941455172
feature3    1321N1  -0.257921866


I have tried to do it with for loops but it is very slow.

# Make Feature data tall skinny
tsFeatures = c()
tsCellLines = c()
tsValues = c()

for(aFeature in as.character(featureData$feature)){
     print(aFeature)
     for(cellLine in cellLines){
           tsCellLines = c(tsCellLines, as.character(cellLine))
           tsValues = c(tsValues, as.numeric(subset(featureData,
feature == aFeature, select = c(which(colnames(featureData) %in%
cellLine)))))
           tsFeatures = c(tsFeatures, aFeature)
     }
}
tsFeatureData = data.frame(features = tsFeatures, cell.line =
tsCellLines, value=tsValues)

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