Zastanawiałem się, jakie są różnice między trybem, klasą i typem R obiektów? Typ obiektu R można uzyskać za pomocą funkcji typeof (), mode by mode () i class by class ().
Jakieś inne podobne funkcje i koncepcje, za którymi tęskniłem?
Dziękuję i pozdrawiam!
Odpowiedzi:
class()
Służy do zdefiniowania / zidentyfikowania co „typ” dany przedmiot jest z punktu widzenia programowania obiektowego w R. więc dlazostanie użyta dowolna funkcja ogólna, która ma metodę „liczby całkowitej”.
typeof()
podaje „typ” obiektu z punktu widzenia R., natomiastmode()
podaje „typ” obiektu z punktu widzenia Beckera, Chambersa i Wilksa (1988). Ten ostatni może być bardziej kompatybilny z innymi implementacjami S zgodnie z instrukcją R Language Definition .Prawdopodobnie błądziłbym po stronie używania
typeof()
w większości przypadków, chyba że byłoby to do przekazywania obiektów R do skompilowanego kodu, gdziestorage.mode()
będzie to przydatne.Jest to użytecznie omówione w Definicji języka R w powiązaniu z powyższym.
źródło
<-
i=
do przypisywania zmiennych.Od: https://www.mail-archive.com/[email protected]/msg17169.html :
„tryb” to wzajemnie wykluczająca się klasyfikacja obiektów według ich podstawowej struktury. Tryby „atomowy” są numeryczne, złożone, znakowe i logiczne. Obiekty rekurencyjne mają tryby takie jak „lista” lub „funkcja” lub kilka innych. Obiekt ma jeden i tylko jeden tryb.
„klasa” jest właściwością przypisaną do obiektu, która określa, w jaki sposób działają z nim funkcje ogólne. To nie wyklucza się wzajemnie. Jeśli do obiektu nie przypisano żadnej konkretnej klasy, takiej jak prosty wektor numeryczny, jego klasa jest zwykle taka sama jak jego tryb, zgodnie z konwencją.
Zmiana trybu obiektu jest często nazywana „przymusem”. Tryb obiektu może się zmienić bez konieczności zmiany klasy.
źródło
Główną różnicą między klasą a typofem jest to, że użytkownik może zdefiniować pierwszy, ale typ nie. Na przykład zdefiniuj listę
Nadanie określonej nazwy klasy obiektowi zdefiniowanemu przez użytkownika jest bardzo przydatne do pisania programów. Pozwala oznaczać obiekty zdefiniowane przez użytkownika w podobny sposób, jak dzieje się w obiektowych językach programowania.
źródło
R
dokumentacjątypeof
iclass
twierdzenie o „głównej różnicy” jest nieprawidłowe.class
jest atrybutem obiektu, który można przypisać niezależnie od jego trybu pamięci wewnętrznej, natomiast „typeof określa typ (R wewnętrzny) lub tryb pamięci dowolnego obiektu”. Jedna opisuje cechę logiczną, a druga cechę fizyczną obiektu.