Jak odwołać się do numeru wiersza obserwacji? Na przykład, jeśli masz data.frame
o nazwie "dane" i chcesz utworzyć zmienną data$rownumber
równą numerowi wiersza każdej obserwacji, w jaki sposób zrobiłbyś to bez użycia pętli?Odwołanie do numeru wiersza w R
Odpowiedz
Są obecne domyślnie jako rownames
podczas tworzenia data.frame
.
R> df = data.frame('a' = rnorm(10), 'b' = runif(10), 'c' = letters[1:10])
R> df
a b c
1 0.3336944 0.39746731 a
2 -0.2334404 0.12242856 b
3 1.4886706 0.07984085 c
4 -1.4853724 0.83163342 d
5 0.7291344 0.10981827 e
6 0.1786753 0.47401690 f
7 -0.9173701 0.73992239 g
8 0.7805941 0.91925413 h
9 0.2469860 0.87979229 i
10 1.2810961 0.53289335 j
i można uzyskać do nich dostęp za pomocą polecenia rownames
.
R> rownames(df)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
jeśli trzeba je jako numery, po prostu zmusić do numeryczny dodając as.numeric
, jak w as.numeric(rownames(df))
.
Nie trzeba do nich dodać, a jeśli wiesz, czego szukasz (powiedzmy poz df$c == 'i'
, można użyć polecenia, które:
R> which(df$c =='i')
[1] 9
lub jeśli nie wiem kolumnę
R> which(df == 'i', arr.ind=T)
row col
[1,] 9 3
może uzyskać dostęp do elementu za pomocą df[9, 'c']
lub df$c[9]
.
Jeśli chcesz dodać je można użyć df$rownumber <- as.numeric(rownames(df))
, chociaż może być mniej odporny niż df$rownumber <- 1:nrow(df)
, ponieważ istnieją przypadki, w których mógłbyś przypisać do rownames
, więc nie będą to już domyślne numery indeksów (które polecenie będzie kontynuować zwracanie numerów indeksów, nawet jeśli przypisałeś je do rownames
).
Jest to prawdopodobnie najprostszy sposób:
data$rownumber = 1:dim(data)[1]
To chyba warto zauważyć, że jeśli chcesz, aby wybrać wiersz o indeksie wiersza, można to zrobić za pomocą notacji prosty wspornik
data[3,]
vs.
data[data$rownumber==3,]
Więc nie jestem pewien, co osiąga ta nowa kolumna.
prostu:
data$rownumber = 1:nrow(Data)
Nie mogę wymyślić czasu, kiedy byłoby to przydatne. Zwłaszcza ze względu na funkcję 'który' –
Jest to przydatne, jeśli potrzebujesz indeksu sortowania. – Roland
To ma sens. –
- 1. Uzyskiwanie numeru wiersza w DataGridView
- 2. Uzyskiwanie bieżącego numeru wiersza?
- 3. zapisywanie macierzy do pliku, bez nagłówka i numeru wiersza
- 4. TeamCity - odwołanie do numeru kompilacji z innej konfiguracji kompilacji
- 5. zwracanie numeru wiersza w php-script
- 6. Wyświetlanie numeru wiersza w polu tekstowym C#
- 7. Wybieranie określonego numeru wiersza w sql
- 8. MySQL: Uzyskiwanie numeru wiersza (ranking) dla określonego wiersza
- 9. Odwołanie do zmiennej w zmiennej w JMeter
- 10. Odczytywanie linii zaczynających się od numeru wiersza w skrypcie bash
- 11. Jak dodać kolumnę numeru wiersza w SQL Server 2012
- 12. Przejdź do wiersza w edytorze Atom z wiersza poleceń
- 13. \ r nie generuje podział wiersza
- 14. Lista wszystkich wersji danego numeru wiersza w historii GIT
- 15. Odwołanie do funkcji w zmiennej?
- 16. Odwołanie do odniesienia w C++
- 17. Odwołanie do elementu w wektorze
- 18. Czy istnieje pakiet do przetwarzania opcji wiersza poleceń w R?
- 19. Przypisanie wektora do określonego istniejącego wiersza tabeli danych w R
- 20. Odwołaj się do numeru kompilacji lub numeru wersji w kodzie
- 21. Komunikat ostrzegawczy Numer wiersza R
- 22. Odwołanie do biblioteki ZXing.Net
- 23. C# odwołanie do pulpitu
- 24. niezdefiniowane odwołanie do `readline '
- 25. Błąd analizatora przy użyciu modułu Perl XML :: DOM, "odwołanie do niepoprawnego numeru znaku"
- 26. Jak uzyskać odwołanie do atrybutów bieżącego modułu w Pythonie
- 27. PHP Odwołanie się do `$ this`
- 28. Przenieś punkt w jednym buforze do tego samego numeru wiersza co punkt w innym buforze
- 29. Dziwne zachowanie podczas modyfikowania wiersza tabeli przez odwołanie
- 30. oracle varchar do numeru
Możesz użyć 'nrow (dane)' zamiast 'dim (data) [1]'. –
rownames to znaki, a nie cyfry. To może doprowadzić do zamieszania. – Roland
@Roland Dobra uwaga, usunięcie tego alternatywnego rozwiązania. –