Język R

0
 
> wektor=1:10
> wektor
 [1]  1  2  3  4  5  6  7  8  9 10
> #próbuje wypisać wszystkie elementy mniejsze od 5
> i=1
> while(i<11)
+ {
+ if(wektor[i]<5){wektor[i]}
+ i=i+1
+ }
> #No i dlaczego to nie działa w jak normalnym języku programowania ? :D

Wiem, że można niby prościej tak: wektor[wektor<5], ale pytanie dlaczego to powyżej nie działa ?

0

Tzn co ci nie działa? Przecież ty tu nic nie wypisujesz...
Zauważ ze R "wypisuje" ci jakiś obiekt jeśli ten obiekt jest ostatnim obiektem w bloku (tak samo jak zwraca wartości z funkcji). U ciebie to "wektor[i]" wcale taką instrukcją nie jest to i się nie wypisuje.

0

Hmm czyli nie da się w R tego wypisać w ten sposób ?

0

W ten sposób nie, bo jak już mówiłem: ty tutaj NIC nie wypisujesz. To jest zwyczajnie dobra wola interpretera że wypisuje ci jakiś obiekt jak wstukasz jego nazwę. Jak chcesz coś wypisać to wypisz explicite.

0

Dzięki Shalom. Piszę, że nie może znaleźć tego polecenia. Znalazłem inne rozwiązanie, działa z printem. Nie wiem czy to poprawne, ale działa tak jak chciałem :D
print(toCoChceWypisać)

0
gośćIhateR napisał(a):
 
> wektor=1:10
> wektor
 [1]  1  2  3  4  5  6  7  8  9 10
> #próbuje wypisać wszystkie elementy mniejsze od 5
> i=1
> while(i<11)
+ {
+ if(wektor[i]<5){wektor[i]}
+ i=i+1
+ }
> #No i dlaczego to nie działa w jak normalnym języku programowania ? :D

Wiem, że można niby prościej tak: wektor[wektor<5], ale pytanie dlaczego to powyżej nie działa ?

a nie prościej tak o?

wektor<-1:10
wektor[wektor<5]
5

Słaby musi być ten język R, jak przez prawie dwa lata trzeba czekać na odpowiedź na forum

1 użytkowników online, w tym zalogowanych: 0, gości: 1