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.
1 Stimmen
@Joris: Das macht Sinn. Es ist ein bisschen frustrierend, dass es jetzt drei nicht wirklich kompatible OO-Systeme für R gibt. Ich würde lieber eines lernen und es richtig lernen. Also bleibe ich lieber bei S3-Klassen. Sogar ich kann ihre Grenzen erkennen, aber sie sind so einfach zu benutzen, dass es verführerisch ist. Wenn die S4-Klassen mehr Lob bekämen, würde ich mir die Mühe machen, sie wirklich zu lernen.
1 Stimmen
Es sieht so aus, als ob die Referenzklassen im R-Kern gut vorankommen.
trace
jetzt (R 2.13.1) unterstützt sie.0 Stimmen
Und für weitere Informationen über RCs in anderen Sprachen: programmers.stackexchange.com/questions/57068/