[R] reading in a (very simple) list from a file

David L Carlson dcarlson at tamu.edu
Wed Oct 10 20:32:03 CEST 2012


It might help if you would bore us with at least one or two of the things
you have tried. It seems logical to read the file into a data frame using
read.table(). Then you can change it into any format you want:

> Listname <- read.table(text="key value
Key1 1
Key2 2
Key3 3", header=TRUE)
> Listname
   key value
1 Key1     1
2 Key2     2
3 Key3     3

Just change text=". . . " to file="yourfilename". This will change the key
field into a factor. If you don't want to do that use

> Listname <- read.table(text="key value
Key1 1
Key2 2
Key3 3", header=TRUE, stringsAsFactors=FALSE)

If you want to change the data.frame into a list, just use:

> Listname <- as.list(Listname)

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of arun
> Sent: Wednesday, October 10, 2012 12:49 PM
> To: VA Smith
> Cc: R help
> Subject: Re: [R] reading in a (very simple) list from a file
> 
> HI,
> 
> By modifying the earlier solution using sapply()
> 
> set.seed(1)
>  dat1<-
> data.frame(keys=paste0("key",1:5),value=sample(1:15,5,replace=TRUE))
> list2<-sapply(split(dat1,dat1$keys),`[`,2)
>  names(list2)<-dat1[,1]
> list2$key2
> #[1] 6
> A.K.
> 
> ----- Original Message -----
> From: VA Smith <vas1 at st-andrews.ac.uk>
> To: r-help at r-project.org
> Cc:
> Sent: Wednesday, October 10, 2012 1:29 PM
> Subject: [R] reading in a (very simple) list from a file
> 
> Apologies - I feel this is a very simple thing to do yet I am failing
> massively. I keep finding information about how to do much more
> complicated
> things (usually on this mailing list!), which then fail when I try to
> apply
> it to my simple task.
> 
> Anyway, all I want to do is read in a series of key-value pairs from a
> file.
> I thought a list would be a good way to keep these, such that I could
> access
> them like: listname$key
> 
> I was imagining a file like this:
> key1 value1
> key2 value2
> key3 value3
> ...
> 
> (the keys will always be character strings, the values might be other
> types,
> but they will always be single items)
> 
> I won't bore you with all the things I've tried. I'm sure I'm
> overlooking
> something basic and simple, but I would greatly appreciate it if
> someone
> could help me out here.
> 
> Thank you.
> 
> Best wishes,
> Anne
> 
> 
> 
> 
> 
> --
> View this message in context: http://r.789695.n4.nabble.com/reading-in-
> a-very-simple-list-from-a-file-tp4645741.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> 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.
> 
> 
> ______________________________________________
> 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