Domyślnym zachowaniem w R dla zredukowania dwuwymiarowej macierzy do 1 wiersza jest faktyczne upuszczenie wymiaru. Można to "naprawić", umieszczając drop = FALSE na końcu wyszukiwania macierzy. Czy jest jakiś sposób, aby uczynić to domyślnym? Mam dość długi program i po prostu zdałem sobie sprawę, że będę musiał dodać to w około 100 miejscach, jeśli nie ma ... Szukałem? Opcji, matryc "?" I "bezskutecznie.alternatywa dla upuszczania = FALSE lub zmiana domyślnego zachowania
5
A
Odpowiedz
5
Można przedefiniować `[`
takiego:
old <- `[`
`[` <- function(...) { old(..., drop=FALSE) }
Modyfikacja ta powinna być lokalna na interaktywnej zakresie i dlatego nie wpływa na procedury, które opierają się na innych zachowań. Bez gwarancji. I bądź przygotowany, że kod tego formularza będzie prawdopodobnie mylić czytelników twojego kodu, którzy są przyzwyczajeni do innej semantyki.
Być może możesz zmienić tę lokalną na konkretną funkcję zamiast całego kodu?
Jedną alternatywą byłoby pisanie własnej klasy obiektów macierzy, dla których można podać własną implementację operatora podzbioru. Ma to sens, jeśli konstruujesz macierze w bardzo ograniczonej liczbie miejsc, ale może to stanowić problem, jeśli istnieje duża liczba ścieżek kodu konstruujących te macierze.
Powiązane problemy
- 1. Zatrzymywanie domyślnego zachowania zdarzeń w Swing
- 2. Findbugs + JSR305: Możliwość określenia domyślnego zachowania?
- 3. Zastępowanie domyślnego zachowania TAB w JTextPane
- 4. Zmiana zachowania mapy w Clojure
- 5. Wordpress zmiana domyślnego tłumaczenia
- 6. zmiana domyślnego adresu URL phpmyadmin
- 7. Vim: zmiana zachowania kliknięcia myszą
- 8. Android: zmiana domyślnego Home Zastosowanie
- 9. Zmiana domyślnego separatora w obsadzie
- 10. Zmiana zachowania Ctrl + kliknięcie na JTable
- 11. zmiana domyślnego sortowania w phpmyadmin
- 12. Zmiana domyślnego języka w Liferay
- 13. Zmiana zachowania kursora zmieniła się w Froyo?
- 14. Zmiana zachowania plików ponownego ładowania VS
- 15. Zmiana zachowania Win 10 na komputerze stacjonarnym
- 16. sklearn LogisticRegression i zmiana domyślnego progu klasyfikacji
- 17. Zmiana domyślnego rozmiaru czcionki XTerm w Cygwin
- 18. Django zachowanie zmiana szablonu silent_variable_failure = False
- 19. Zachowania dla Blend (Silverlight 4)
- 20. Alternatywa dla scipy.optimize.curve_fit
- 21. Najlepszy substytut, następca lub alternatywa dla ASIHTTP dla kolejki pobierania
- 22. Alternatywna dla wielu przeglądarek alternatywa dla Canvas2Image lub HTML5?
- 23. Zmiana domyślnego danych-theme z jQuery Mobile
- 24. ASP.NET rdzeń, zmiana domyślnego przekierować za nieuprawnione
- 25. Zmiana domyślnego katalogu stylów w szynach
- 26. Zmiana domyślnego obszaru nazw projektu VSTO
- 27. Zmiana domyślnego komunikatu o błędzie z simple_form
- 28. Zmiana domyślnego wcięcia etree.tostring w lxml
- 29. Zmiana domyślnego kształtu prostokąta kształtu UII
- 30. Zmiana domyślnego koloru nagłówka w aplikacji MVC5
Napisz skrypt Perla lub powłoki nad tobą, aby dokonać podstawień. OK, może nie być to łatwe do zdefiniowania, ale warte strzału. – igelkott
Sądzę, że istnieją hacki (nadmiernie jeżdżące '[, itp.], Ale ogólnie myślę, że nie ma sposobu, aby zmienić to zachowanie na całym świecie. Najlepszym rozwiązaniem może być aktualizacja kodu. – joran
dziękuję każdemu, kto połączył wcześniej zadane pytanie, to jest idealne. – hedgedandlevered