[R] reading multiple key=value pairs per line
Frank Singleton
b17flyboy at gmail.com
Sat Jan 19 06:51:31 CET 2013
Thanks Arun,Petr,Greg and Christophe,
I have some possibilities to consider now :-)
Cheers / Frank
On 01/18/2013 08:37 AM, arun wrote:
> Hi,
>
> Sorry, there was a mistake. I didn't notice comma in key3
> .Lines1<-readLines(textConnection('key1=23, key2=67, key3="hello there"
> key1=7, key2=22, key3="how are you"
> key1=2, key2=77, key3="nice day, thanks"'))
> res1<-read.table(text=gsub("key{0,1}\\d","",gsub("[\"]","",Lines1)),sep="=",header=FALSE,stringsAsFactors=F)[-1]
> res1[,1:2]<-sapply(res1[,1:2],function(x) as.numeric(gsub("\\, $","",x)))
> names(res1)<- paste(substr(Lines1,1,3),1:3,sep="")
> res1
> # key1 key2 key3
> #1 23 67 hello there
> #2 7 22 how are you
> #3 2 77 nice day, thanks
> str(res1)
> #'data.frame': 3 obs. of 3 variables:
> # $ key1: num 23 7 2
> # $ key2: num 67 22 77
> # $ key3: chr "hello there" "how are you" "nice day, thanks"
> A.K.
>
>
>
> ----- Original Message -----
> From: Frank Singleton <b17flyboy at gmail.com>
> To: r-help at r-project.org
> Cc:
> Sent: Thursday, January 17, 2013 11:21 PM
> Subject: [R] reading multiple key=value pairs per line
>
> Hi,
>
> Thanks for a great environmentfor statistical computing :-)
>
> I have some input data in a file ("input_kvpairs.csv") of the form
>
> key1=23, key2=67, key3="hello there"
> key1=7, key2=22, key3="how are you"
> key1=2, key2=77, key3="nice day, thanks"
>
> Now in my head I wish it was of the form ("input.csv")
>
> #key1, key2, key3
> 23, 67, "hello there"
> 7, 22, "how are you"
> 2, 77, "nice day, thanks"
>
> so I could do
>
> data <- read.csv("input.csv", header=TRUE)
>
> where the header column names are derived from the key names dynamically,
> and I could access the data using normal data$key1 or data$key2 mechanism.
>
> I guess I could just pre process the file first using python etc to create
> a CSV file with column header derived from key names, and values derived from
> key values, but I am interested to see how experienced R folks would handle this
> inside R.
>
> Thanks,
>
> Frank
>
> ______________________________________________
> R-help at 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.
>
>
More information about the R-help
mailing list