[R] Creating a Hash from Data.Frame
hadley wickham
h.wickham at gmail.com
Mon Jun 16 06:09:33 CEST 2008
On Sun, Jun 15, 2008 at 9:03 PM, jim holtman <jholtman at gmail.com> wrote:
> here is a way:
>
>> x <- read.table(textConnection("#GDS_ID GENE_NAME GENE_DESCRIPTION GENE_FUNCTION
> + 1007_s_at | DDR1 | discoidin domain receptor tyrosine kinase 1 |
> protein-coding
> + 1053_at | RFC2 | replication factor C (activator 1) 2, 40kDa | protein-coding
> + 117_at | HSPA6 | heat shock 70kDa protein 6 (HSP70B') |
> protein-coding"), sep="|",
> + strip.white=TRUE, quote='') # you need strip.white on the call
>> closeAllConnections()
>> str(x)
> 'data.frame': 3 obs. of 4 variables:
> $ V1: Factor w/ 3 levels "1007_s_at","1053_at",..: 1 2 3
> $ V2: Factor w/ 3 levels "DDR1","HSPA6",..: 1 3 2
> $ V3: Factor w/ 3 levels "discoidin domain receptor tyrosine kinase
> 1",..: 1 3 2
> $ V4: Factor w/ 1 level "protein-coding": 1 1 1
>> x
> V1 V2 V3 V4
> 1 1007_s_at DDR1 discoidin domain receptor tyrosine kinase 1 protein-coding
> 2 1053_at RFC2 replication factor C (activator 1) 2, 40kDa protein-coding
> 3 117_at HSPA6 heat shock 70kDa protein 6 (HSP70B') protein-coding
>> mydata <- character()
>> mydata[as.character(x$V2)] <- as.character(x$V3)
>> mydata["RFC2"] #access the data
> RFC2
> "replication factor C (activator 1) 2, 40kDa"
Or even more simply:
rownames(x) <- x$V2
x["RFC2", ]
Hadley
--
http://had.co.nz/
More information about the R-help
mailing list