Jak naprawić w R: Operator $ jest nieprawidłowy dla wektorów atomowych

Jak naprawić w R: Operator $ jest nieprawidłowy dla wektorów atomowych

W tym artykule zobaczymy, jak naprawić nieprawidłowy operator $ dla wektorów atomowych w Programowanie R język .

Błąd, który można napotkać w R, to:

$ operator is invalid for atomic vectors 

Taki błąd generuje kompilator R, gdy próbujemy uzyskać element wektora atomowego za pomocą operatora $. Wektor atomowy to po prostu jednowymiarowy obiekt zawierający dane utworzone za pomocą funkcji c() i Vector(). R nie pozwala nam na dostęp do elementów wektora atomowego za pomocą symbolu $. Ale aby uzyskać do nich dostęp, możemy użyć podwójnych nawiasów, tj. [[]] lub funkcji getElement().



Kiedy może wystąpić ten błąd

Rozważmy przykład, w którym mamy wektor liczbowy nosić inicjalizowane pierwszymi pięcioma liczbami naturalnymi. Każdej z liczb przypisuje się nazwę za pomocą funkcji Names() w języku R. Składnię funkcji Names() podano poniżej:

Składnia: nazwy(vect) <- wartość

Parametry:

  • vect: obiekt, tj. wektor, macierz, ramka danych itp.
  • wartość: Odpowiednie nazwy, które mają zostać przypisane

R




# Define a vector> vect <-> c> (1, 2, 3, 4, 5)> > # Set integers names> names> (vect) <-> c> (> 'first'> ,> 'second'> ,> 'third'> ,> > 'fourth'> ,> 'fifth'> )> > # Display the vector> vect>

Wyjście:

Spróbujmy teraz uzyskać dostęp do elementu trzeci element za pomocą instrukcji, vect$trzeci:

R




# Define a vector> vect <-> c> (1, 2, 3, 4, 5)> > # Set integers names> names> (vect) <-> c> (> 'first'> ,> 'second'> ,> 'third'> ,> > 'fourth'> ,> 'fifth'> )> > # Display the vector> vect$third>

Wyjście:

Kompilator R generuje błąd, ponieważ nie mamy w ten sposób dostępu do elementów wektora atomowego. Aby sprawdzić, czy wektor jest rzeczywiście wektorem atomowym, możemy użyć funkcji is.atomic() w R. Składnię tej funkcji podano poniżej:

Składnia: jest.atomowy(wektor)

Parametry:

vect: Tutaj vect reprezentuje wektor

Typ zwrotu:

  • PRAWDA: Jeśli vect jest wektorem atomowym
  • FAŁSZ: Jeśli vect nie jest wektorem atomowym

Jak naprawić błąd

Istnieją trzy sposoby użycia możemy naprawić ten błąd:

Metoda 1: Dostęp do elementów za pomocą podwójnych nawiasów

Możemy łatwo uzyskać dostęp do elementów wektora atomowego za pomocą podwójnych nawiasów, które to, [[]]:

R




# Define a vector> vect <-> c> (1, 2, 3, 4, 5)> > # Set integers names> names> (vect) <-> c> (> 'first'> ,> 'second'> ,> 'third'> ,> > 'fourth'> ,> 'fifth'> )> > # Display the third element of the> # vector> vect[[> 'third'> ]]>

Wyjście:

metoda 2: Dostęp do elementów za pomocą funkcji getElement().

Innym sposobem jest użycie funkcji getElement() w celu uzyskania dostępu do elementów wektora atomowego. Funkcja ma następującą składnię:

Składnia: getElement(vect, specyfikator)

Parametry:

  • vect: reprezentuje wektor
  • specyfikator: reprezentuje nazwę elementu, do którego chcemy uzyskać dostęp

Typ zwrotu:

  • Zwraca element oznaczony specyfikatorem

R




# Define a vector> vect <-> c> (1, 2, 3, 4, 5)> > # Set integers names> names> (vect) <-> c> (> 'first'> ,> 'second'> ,> 'third'> ,> > 'fourth'> ,> 'fifth'> )> > # Display the third element of> # the vector> getElement> (vect,> 'third'> )>

Wyjście:

Metoda 3: Dostęp do elementów poprzez konwersję wektora na ramkę danych, a następnie użycie operatora $

Innym sposobem jest najpierw przekonwertowanie wektora na ramkę danych, a następnie zastosowanie operatora $. Możemy przekształcić wektor w ramkę danych za pomocą funkcji as.data.frame(). Poniżej podano składnię tej funkcji:

Składnia: jako.data.frame(obiekt)

Parametr:

  • obiekt reprezentuje wektor lub macierz

Typ zwrotu:

  • Zwraca wektor

R




# Define a vector> vect <-> c> (1, 2, 3, 4, 5)> > # Set integers names> names> (vect) <-> c> (> 'first'> ,> 'second'> ,> 'third'> ,> > 'fourth'> ,> 'fifth'> )> > # Transform the vector to data frame> dataframe <-> as.data.frame> (> t> (vect))> > # Access the third element> dataframe$third>

Wyjście:



Może Ci Się Spodobać

Najpopularniejsze Artykuły

Kategoria

Ciekawe Artykuły