[R] [External] Convert a character string to variable names

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Feb 8 00:36:56 CET 2022


Hello,

But that doesn't work in the OP's case:


sapply(.x, get)
#Error in FUN(X[[i]], ...) : object 'mtcars$disp' not found


Like you say, as.name(x$something) is not the name of an object.

Hope this helps,

Rui Barradas

Às 23:21 de 07/02/2022, Bert Gunter escreveu:
> I assume that the mtcars components were used only as an example, as you
> could convert them to a matrix via as.matrix(). Unfortunately, it was a bad
> choice: as.name("x$something") is not the name of 'something' in the data
> frame (or list) x. Moreover, as.name("x") does not point to an object x --
> as Rich indicated, it has to be evaluated to do so.
>> x<- 1:10
>> z <- as.name("x")
>> z
> x
>> length(z)
> [1] 1
>> eval(z)
>   [1]  1  2  3  4  5  6  7  8  9 10
> 
> But more to the point, I think you are attempting to drive from Brooklyn to
> New York City by way of Los Angeles. If I understand correctly, I think all
> you need is ?get:
> 
>> x <- runif(5)
>> y <- 1:5
>> z <- 21:25
>> nm <- c('x', 'y','z')
>> sapply(nm, get)
>                x y  z
> [1,] 0.99602479 1 21
> [2,] 0.97458756 2 22
> [3,] 0.09496625 3 23
> [4,] 0.91444550 4 24
> [5,] 0.68331484 5 25
> 
> Cheers,
> 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 Mon, Feb 7, 2022 at 3:06 PM Richard M. Heiberger <rmh using temple.edu> wrote:
> 
>>> x <- c("mtcars$disp", "mtcars$hp", "mtcars$cyl")
>>> x
>> [1] "mtcars$disp" "mtcars$hp"   "mtcars$cyl"
>>> eval(parse(text=x))
>>   [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
>>> for (i in x) print(eval(parse(text=i)))
>>   [1] 160.0 160.0 108.0 258.0 360.0 225.0 360.0 146.7 140.8 167.6 167.6
>> 275.8 275.8 275.8 472.0 460.0 440.0  78.7  75.7  71.1 120.1 318.0
>> [23] 304.0 350.0 400.0  79.0 120.3  95.1 351.0 145.0 301.0 121.0
>>   [1] 110 110  93 110 175 105 245  62  95 123 123 180 180 180 205 215 230
>> 66  52  65  97 150 150 245 175  66  91 113 264 175 335 109
>>   [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
>>
>>
>>> On Feb 07, 2022, at 17:55, Erin Hodgess <erinm.hodgess using gmail.com> wrote:
>>>
>>>> .x
>>>
>>> [1] "mtcars$disp" "mtcars$hp"   "mtcars$cyl"
>>
>> ______________________________________________
>> R-help using 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 using 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.



More information about the R-help mailing list