48 Stimmen

Was ist die Bedeutung der neuen Referenzklassen?

Offensichtlich John Chambers Referenzklassen hinzugefügt zu R in der Version 2.12. Es scheint noch nicht viele Informationen online zu geben, aber sie nennen sie R5-Klassen, was bedeutet, dass sie auf einer Stufe mit den Klassen S3 und S4 stehen.

Frage: Was ist eine Referenzklasse, und wie passt sie zu den bestehenden Klassentypen?

2 Stimmen

Ich glaube, "R5" war eine Art Scherz, der während einer Rcpp-Präsentation gemacht wurde - zum Teil, weil damals die Notwendigkeit eines brandneuen R diskutiert wurde, ich glaube nicht, dass es ein ernsthafter Name ist. Die Referenzklassen passen afaik genau in R's S4. Die Suche nach "R5" im SO [r] Chat ergibt chat.stackoverflow.com/search?q=R5&room=106

15 Stimmen

Referenzbasiert bedeutet, dass die Objekte veränderbar sind - bei Änderungen werden keine Kopien erstellt.

1 Stimmen

Vieles hängt davon ab, was Sie tun wollen. S4 ist manchmal sehr nützlich (vor allem für das Dispatching und die strengere Prüfung von Objekten). Referenzklassen scheinen ideal für die Arbeit mit großen Datensätzen, die vor der Analyse transformiert werden müssen. Aber für den Rest möchte ich meine Objekte unangetastet lassen.

35voto

Dirk Eddelbuettel Punkte 345316

Der Wunsch nach Dokumentation für ReferenceClasses kommt immer wieder auf, zum Beispiel auf der r-devel Liste. Die beste Antwort bisher ist, sich tatsächlich anzusehen, was help(ReferenceClasses) Das ist ein ziemlich guter Anfang.

Dann gibt es noch ein paar Präsentationen:

Und wie von mdsummer in einem Kommentar angemerkt, R5 war ein kurzlebiger Scherz. Es gab bereits ein anderes R-bezogenes Projekt namens R5, und John bevorzugt ReferenceClasses. Und ich denke, dass sie hier bleiben werden. Die Leute benutzen sie bereits, wie z.B. Jeff Horner in seinem neuen Gestell Paket.

0 Stimmen

Ok, es sind also keine R5-Klassen, sondern ReferenceClasses, und sie sehen nach einer umfassenderen Umsetzung objektorientierter Ideen aus, als es S3-Klassen waren. Ich werde mehr durch die Links schauen und versuchen, meinen Kopf um sie zu wickeln. Vielen Dank für den Hinweis auf die richtige Richtung.

0 Stimmen

R5-Methoden sind mit Klassen verbunden, während S3-Methoden mit generischen Funktionen verbunden sind. R5 ist anders, mehr als vollständiger oder besser als S3.

0 Stimmen

Ja, aber sie heißen immer noch nicht R5, sondern ReferenceClasses. R5 ist etwas, das Simon einmal gemacht hat und das keine Beziehung hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X