[Rd] New R version - Issue with as.vector coercion on data.frame
Bill Dunlap
w||||@mwdun|@p @end|ng |rom gm@||@com
Mon May 2 17:33:58 CEST 2022
> In both versions as.list(aDataFrame) returns the same thing that
R-4.1.2's as.vector(aDataFrame) did.
I sent this too quickly. I meant to say that as.list(aDataFrame) did the
same in both versions. Since as.vector(aDataFrame) in 4.1.2 did nothing,
you can just drop that line from your code.
-Bill
On Mon, May 2, 2022 at 8:07 AM Bill Dunlap <williamwdunlap using gmail.com> wrote:
> In R-4.1.2 (and before) as.vector(aDataFrame) returned aDataFrame,
> unchanged. E.g.,
> 4.1.2> aDataFrame <- data.frame(X=101:103, Y=201:203, Z=301:303)
> 4.1.2> attr(aDataFrame, "anAttr") <- "an attribute"
> 4.1.2> identical(as.vector(aDataFrame), aDataFrame)
> [1] TRUE
> 4.1.2> dput(aDataFrame)
> structure(list(X = 101:103, Y = 201:203, Z = 301:303), class =
> "data.frame", row.names = c(NA, -3L), anAttr = "an attribute")
>
> In R-4.2.0 it removes the class, names, and row.names attributes, but
> leaves other stray attributes alone. E.g.,
> 4.2.0> aDataFrame <- data.frame(X=101:103, Y=201:203, Z=301:303)
> 4.2.0> attr(aDataFrame, "anAttr") <- "an attribute"
> 4.2.0> identical(as.vector(aDataFrame), aDataFrame)
> [1] FALSE
> 4.2.0> dput(aDataFrame)
> structure(list(X = 101:103, Y = 201:203, Z = 301:303), class =
> "data.frame", row.names = c(NA, -3L), anAttr = "an attribute")
> 4.2.0> dput(as.vector(aDataFrame))
> structure(list(X = 101:103, Y = 201:203, Z = 301:303), anAttr = "an
> attribute")
>
> In both versions as.list(aDataFrame) returns the same thing that R-4.1.2's
> as.vector(aDataFrame) did.
>
> I think that as.vector() is a function that few people should use. It
> has almost nothing to do with with the notion of a vector in math or
> physics.
>
> -Bill
>
> On Mon, May 2, 2022 at 2:19 AM Marc Weibel <marc.weibel using eniso-partners.com>
> wrote:
>
>> Hi
>>
>> I recently upgraded to the latest r version and got an issue with the
>> command as.vector() on a data.frame object. With the previous R version the
>> returned object was a vector but now it is formatted as a list (see below)
>>
>>
>> > futures_quotes
>> SMI Future SMIM Future Euro Stoxx 50 Future S&P 500 Mini Future FTSE
>> 100 Future Nikkei 225 Future
>> 1 11999 2871 3692 4150
>> 7419 26853
>> > class(futures_quotes)
>> [1] "data.frame"
>>
>> > as.vector(futures_quotes[1,1:3])
>> $`SMI Future`
>> [1] 11999
>>
>> $`SMIM Future`
>> [1] 2871
>>
>> $`Euro Stoxx 50 Future`
>> [1] 3692
>>
>> > class(as.vector(futures_quotes[1,1:3]))
>> [1] "list"
>>
>>
>> Can you help me on this ? (I solved the issue temporarily with
>> as.vector(t(futures_quotes[1,1:3]))
>>
>> Kind regards
>> Marc Weibel
>>
>>
>>
>> <http://www.enisopartners.com/>
>> Dr. Marc Weibel
>> CIO & Partner
>> Tel: +41 44 286 17 02
>> Mob: +41 78 892 96 55
>> E-Mail: marc.weibel using enisopartners.com <mailto:
>> marc.weibel using enisopartners.com>
>>
>> Eniso Partners AG
>> Claridenstrasse 34 | Postfach | 8022 Zürich
>>
>> <https://www.linkedin.com/in/marc-weibel-29a396/>
>> Based on previous e-mail correspondence with you and/or an agreement
>> reached with you, Eniso Partners considers itself authorized to contact you
>> via unsecured e-mail. Warning: E-mails can involve SUBSTANTIAL RISKS, e.g.
>> lack of confidentiality, potential manipulation of contents and/or sender's
>> address, incorrect recipient (misdirection), viruses etc. Eniso Partners
>> assumes no responsibility for any loss or damage resulting from the use of
>> e-mails. Eniso Partners recommends in particular that you do NOT SEND ANY
>> SENSITIVE INFORMATION, that you do not include details of the previous
>> message in any reply, and that you enter e-mail address(es) manually every
>> time you write an e-mail. Please notify Eniso Partners immediately if you
>> received this e-mail by mistake or if you do not wish to receive any
>> further e-mail correspondence. If you have received this e-mail by mistake,
>> please completely delete it (and any attachments) and do not forward it or
>> inform any other person of its contents.
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
[[alternative HTML version deleted]]
More information about the R-devel
mailing list