R: eval(parse()) error message: cannot open file even though "text=" is specified in parse
eval, loops, parsing, r
Solution
Assigning to `eval` isn't guaranteed to work. This is one of multiple reasons it's usually not a good idea to use `eval`.
Why not just store countries and their conditions in a named list, something like this:
conditions = list()
conditions[["Spain"]] = list()
conditions[["Spain"]][["condition1"]] <- 10
conditions[["Spain"]][["condition1"]][2] <- 2
conditions[["Spain"]][["condition1"]]
# [1] 10 2
ETA: To work with a loop (I don't know precisely what the structure of your problem is, but here's the general idea):
countries = c("Spain", "England", "France", "Germany", "USA") # and so on
conditions = c("Sunny", "Rainy", "Snowing") # or something
data = list()
for (country in countries) {
data[[country]] <- list()
for (condition in conditions) {
data[[country]][[condition]] <- 4 # assign appropriate value here
}
}
It can also be constructed from a tab-delimited file, or generated in whatever way is appropriate for your problem- R is more than capable.
Problem
I'm running analysis for a list of countries several times and during each iteration the result should be added to a vector. Below I show a simplified example without the loop for just one country. Even though I thoroughly looked for solutions, I could not find an answer. ``` #this is my simplified country vector with just 1 country country<-c("Spain") #This is the vector that should hold the results of multiple iterations #for now, it contains only the result of the first iteration Spain.condition1<- 10 #reading result vector in a variable (this is automized in a loop in my code) resultVector<-paste(country,"condition1",sep=".") #when I call the content of the vector with parse, eval #I see the content of the vector as expected eval(parse(text=resultVector)) #however, when I try to add a second result to it eval(parse(text=resultVector))[2]<-2 #I get following error message: #Error in file(filename, "r") : cannot open the connection #In addition: Warning message: #In file(filename, "r") : # cannot open file 'Spain.condition1': No such file or directory ``` Could anyone help me or put me in the right direction?