Jak mogę usunąć każdy n-ty wiersz z ramki danych w R?Usuwanie każdego n-tego wiersza w ramce danych
13
A
Odpowiedz
31
Można utworzyć funkcję następująco
Nth.delete<-function(dataframe, n)dataframe[-(seq(n,to=nrow(dataframe),by=n)),]
Niech przetestować go
DF<-data.frame(A=1:15, B=rnorm(15), C=sample(LETTERS,15))
Nth.delete(DF, 3)
+2
, więc df [ -rowNumber,] usuwa ten wiersz – MySchizoBuddy
+0
, to jest poprawne –
7
Jeśli chcesz uzyskać każdy z n-tej kolumny z ramki danych lub wektora itp użycie modulo podzbioru ...
Wybierz n-tą kolumnę, powtarzając zestawy tutaj jako modulo 3 (wybierz n-ę, jak chcesz)
> x <- c(1,2,3,4,5,6)
> d <- rbind(x,x,x)
> df <- as.data.frame(d, row.names=T)
> c <- 1:ncol(df)
> c
[1] 1 2 3 4 5 6
c%%3 ### nth cycle, here every 3
[1] 1 2 0 1 2 0
#select the every 3rd column of every 3
> df[, c%%3==0]
V3 V6
1 3 6
2 3 6
3 3 6
#every first column of every 3
> df[, c%%3==1]
V1 V4
1 1 4
2 1 4
3 1 4
#every 2nd column of every 3
> df[, c%%3==2]
V2 V5
1 2 5
2 2 5
3 2 5
#drop the 3rd columns
> df[, !(c%%3==0)]
V1 V2 V4 V5
1 1 2 4 5
2 1 2 4 5
3 1 2 4 5
etc ... zamiana c < -nrow (DF) dla podzbioru wierszy ..
Powiązane problemy
- 1. Najszybszy sposób sortowania każdego wiersza w ramce danych pandy
- 2. usunąć interpunkcję dla każdego wiersza w ramce danych pandy
- 3. Odejmij poprzedni rok od wartości z każdego zgrupowanego wiersza w ramce danych
- 4. mysqldump jeden INSERT dla każdego wiersza danych
- 5. konstruowania ciąg identyfikatora dla każdego wiersza danych
- 6. Jak odjąć poprzedni wiersz od bieżącego wiersza w ramce danych pandy i zastosować go do każdego wiersza; bez użycia pętli?
- 7. Jak zmienić etykietę konkretnego wiersza w ramce danych Pandy?
- 8. Wstawianie wiersza i usuwanie wiersza jednocześnie. UITableView
- 9. Wypełnij kolumnę dla każdego wiersza w bazie danych
- 10. xmlstarlet - usuwanie wysuwu wiersza
- 11. Zamień ciąg w ramce danych
- 12. Upuszczanie kolumn w ramce danych
- 13. kolumny Data w ramce danych
- 14. Indeks nieunikalnego elementu w ramce danych
- 15. Zastosuj listę n funkcji do każdego wiersza ramki danych?
- 16. Usuwanie wiersza z datatable w C#
- 17. Convert Lista wektorów w ramce danych liczy
- 18. Wyszukiwanie kolejnych segmentów w ramce danych pandy
- 19. Pomnożenie wszystkich kolumn w ramce danych Pandy razem
- 20. Stosowanie funkcji do każdego wiersza tabeli data.table
- 21. Wybieranie wierszy w wielowierszowej ramce danych
- 22. Zamień ciąg/wartość w całej ramce danych
- 23. Znajdź pierwsze niezerowe wystąpienie w ramce danych
- 24. Powtarzanie listy danych Data.frames w pojedynczej ramce danych
- 25. Wypełnianie wartości w ramce danych w R?
- 26. Usuwanie określonego wpisu/wiersza z Core-Data
- 27. Obliczanie średniej z dwóch kolumn w ramce danych
- 28. Jak mogę utworzyć nowe wiersze w ramce danych pandy zawierającej słowa w ciągu istniejącego wiersza?
- 29. pandas.factorize na całej ramce danych
- 30. Usuń wiersze w ramce danych ze współczynnikiem ""
tutaj jest jednym ze sposobów, aby to zrobić. 'df [seq (1, NROW (df), by = n),]' – Ramnath
@Ramnath: 'df [-seq (n, NROW (df), przez = n),]' może działać lepiej – Henry