[Rd] Puzzled about a new method for "[".

Iñaki Ucar |uc@r @end|ng |rom |edor@project@org
Tue Nov 5 09:37:39 CET 2019


You can try for testing with a column of class errors, from the package
'errors'. The attributes depend on the content in the way Hadley pointed
out.

Iñaki

El lun., 4 nov. 2019 23:19, Rolf Turner <r.turner using auckland.ac.nz> escribió:

> On 5/11/19 10:54 AM, Duncan Murdoch wrote:
> > On 04/11/2019 4:40 p.m., Pages, Herve wrote:
> >> Hi Rolf,
> >>
> >> On 11/4/19 12:28, Rolf Turner wrote:
> >>>
> >>> On 5/11/19 3:41 AM, Hadley Wickham wrote:
> >>>
> >>>> For what it's worth, I don't think this strategy can work in general,
> >>>> because a class might have attributes that depend on its data/contents
> >>>> (e.g.
> >>>>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__vctrs.r-2Dlib.org_articles_s3-2Dvector.html-23cached-2Dsum&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=pqLHzHYLUeyQnxA1K_XhSbKJql6r9wK1RXcDG2tuZ6s&s=kPUlNqBPr6j4lPvqkIj8w2Gl5JYGLqJ7ws6wH5tpGcw&e=
> >>>>
> >>>> ). I
> >>>> don't think these are particularly common in practice, but it's
> >>>> dangerous to assume that you can restore a class simply by restoring
> >>>> its attributes after subsetting.
> >>>
> >>>
> >>> You're probably right that there are lurking perils in general, but I
> am
> >>> not trying to "restore a class".  I simply want to *retain* attributes
> >>> of columns in a data frame.
> >>>
> >>> * I have a data frame X
> >>> * I attach attributes to certain of its columns;
> >>>        attr(X$melvin,"clyde") <- 42
> >>>     (I *don't* change the class of X$melvin.)
> >>> * I form a subset of X:
> >>>       Y <- X[1:100,3:10]
> >>> * given that "melvin" is amongst columns 3 through 10 of X,
> >>>       I want Y$melvin to retain the attribute "clyde", i.e. I
> >>>       want attr(Y$melvin,"clyde") to return 42
> >>>
> >>> There is almost surely a better approach than the one that I've chosen
> >>> (isn't there always?) but it seems to work, and the perils certainly
> are
> >>> not immediately apparent to me.
> >>
> >> Maybe you've solved the problem for the columns that contain your
> >> objects but now you've introduced a potential problem for columns that
> >> contain objects with attributes whose value depend on content.
> >>
> >> Hadley it right that restoring the original attributes of a vector (list
> >> or atomic) after subsetting is unsafe.
> >
> > Right, so Rolf should only restore attributes that are ones he added in
> > the first place.  Unknown attributes should be left alone.
>
> Fair point.  And that gets fiddly.  I guess I'm going to have to rethink
> my strategy.
>
> cheers,
>
> Rolf
>
> --
> Honorary Research Fellow
> Department of Statistics
> University of Auckland
> Phone: +64-9-373-7599 ext. 88276
>
> ______________________________________________
> 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