This is in part answered by FAQ 7.21. The most important part of that answer is at the bottom where it says that it is usually better to use a list.
It may be safer to use a list for your case so that other important variables do not become masked (hidden by the global variables you just created). Here is one way to do it: txtcon <- textConnection("color=green shape=circle") textlines<-readLines(txtcon) tmp <- strsplit(textlines, "=") mylist <- list() for(i in tmp) { mylist[[ i[1] ]] <- i[2] } or another option: mylist[ sapply(tmp, `[`, 1)] <- sapply(tmp, `[`, 2) If you know that you will not need a regular expression then you can just use the `sep` argument to `read.table`: txtcon <- textConnection("color=green shape=circle") tmp2 <- read.table(txtcon, sep='=', stringsAsFactors = FALSE) mylist <- list() mylist[ tmp2[,1] ] <- tmp2[,2] Now you can use functions like `with`, `within`, `evalq`, etc. to work with the elements of the list as if they were variables: > with(mylist, ls() ) [1] "color" "shape" > with(mylist, color) [1] "green" > mylist$shape [1] "circle" > vname <- 'color' > mylist[[vname]] [1] "green" > evalq(paste('it is a', color, shape), mylist) [1] "it is a green circle" If you need regular expressions to find your names and values (extra spaces, lines without '=', pairs embedded in longer sentences, etc.) then look at the `regmatches` function or possibly the gsubfn package (or other tools). On Fri, Oct 4, 2019 at 12:59 AM 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. -- Gregory (Greg) L. Snow Ph.D. 538...@gmail.com ______________________________________________ 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.