Well, OK, but do note that strsplit() is vectorized, so z <- strplit(textlines) ## provides a list of splits for each line
would be faster for large files. However, to add to what Jeff said, it is hard for me to see how your approach will not lead to problems. For example, what if there are several "age = xxx" lines in the file; or variable number of spaces between the "=" and the left and right sides; etc., which would mean that your "split" string might need to be a regex that can handle variable numbers of spaces. In general, keeping such information in a single suitable data structure rather than having separate symbols (variable names) for each line seems to me -- in my vast ignorance of your situation!!, so caveat emptor -- to be a more robust approach. But anyway .... Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Fri, Oct 4, 2019 at 4:11 AM Jim Lemon via R-help <r-help@r-project.org> wrote: > Hi April, > Try this: > > # this could be done from a file > textlines<-read.table(text="color=green > shape=circle > age=17 > name=Jim", > stringsAsFactors=FALSE) > for(i in 1:length(textlines)) { > nextline<-unlist(strsplit(textlines[i,1],"=")) > assign(nextline[1],nextline[2]) > } > color > [1] "green" > shape > [1] "circle" > age > [1] "17" > name > [1] "Jim" > > Jim > > On Fri, Oct 4, 2019 at 4:59 PM April Ettington <apriletting...@gmail.com> > wrote: > > > > Let's say I am parsing a file with a list of parameters followed by an > > equal sign, and their corresponding values, eg: > > > > color=green > > shape=circle > > > > and I want to use this information to create a variable called color with > > the value 'green' and a variable shape with the value 'circle'. > However, I > > also want my code to be able to do this *when it doesn't know up front > what > > the parameter names will be. *So, if the file also included "age=7", it > > should still make a variable called age with the value '7', even though > > 'age' doesn't specifically appear anywhere in my code. Is there a way to > > do this? > > > > Thank you, > > April > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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 -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.