Mam codziennie dane od 1980 r. W pliku csv. Ale chcę odczytać dane tylko od 1985 roku. Ponieważ drugi zestaw danych w innym pliku zaczyna się od 1985 roku. Jak mogę pominąć czytanie danych przed 1985 w języku R?Przeczytaj csv z określonego wiersza
Odpowiedz
Myślę, że chcesz zobaczyć ?read.csv
, aby zobaczyć wszystkie opcje.
Ciężko podać dokładną odpowiedź, nie widząc próbki danych.
Jeśli dane nie posiada nagłówka, a wiesz, która linia danych 1985 rozpoczyna się, można po prostu użyć czegoś jak ...
impordata <- read.csv(file,skip=1825)
... pominąć pierwsze 1825 wierszy.
W przeciwnym razie zawsze możesz po prostu przesłać dane po zaimportowaniu, jeśli masz zmienną roczną w swoich danych.
impordata <- read.csv("skiplines.csv")
impordata <- subset(impordata,year>=1985)
Jeśli nie wiesz, gdzie zaczyna się dane 1985, można użyć grep, aby znaleźć pierwsze wystąpienie 1985 w zmiennej data pliku, a następnie przechowywać tylko od tej linii r:
impordata <- read.csv("skiplines.csv")
impordata <- impordata[min(grep(1985,impordata$date)):nrow(impordata),]
Oto kilka alternatyw. (Może chcesz przekonwertować pierwszą kolumnę do "Date"
klasy i potem ewentualnie przekształcić całą rzecz do obiektu zoo lub innego obiektu klasy szeregi czasowe.)
# create test data
fn <- tempfile()
dd <- seq(as.Date("1980-01-01"), as.Date("1989-12-31"), by = "day")
DF <- data.frame(Date = dd, Value = seq_along(dd))
write.table(DF, file = fn, row.names = FALSE)
read.table + podzbiór
# if file is small enough to fit in memory try this:
DF2 <- read.table(fn, header = TRUE, as.is = TRUE)
DF2 <- subset(DF2, Date >= "1985-01-01")
read.zoo
# or this which produces a zoo object and also automatically converts the
# Date column to Date class. Note that all columns other than the Date column
# should be numeric for it to be representable as a zoo object.
library(zoo)
z <- read.zoo(fn, header = TRUE)
zw <- window(z, start = "1985-01-01")
Jeśli dane nie znajduje się na s ame format jako przykład trzeba użyć dodatkowych argumentów do read.zoo
.
Multiple read.table za
# if the data is very large read 1st row (DF.row1) and 1st column (DF.Date)
# and use those to set col.names= and skip=
DF.row1 <- read.table(fn, header = TRUE, nrow = 1)
nc <- ncol(DF.row1)
DF.Date <- read.table(fn, header = TRUE, as.is = TRUE,
colClasses = c(NA, rep("NULL", nc - 1)))
n1985 <- which.max(DF.Date$Date >= "1985-01-01")
DF3 <- read.table(fn, col.names = names(DF.row1), skip = n1985, as.is = TRUE)
sqldf
# this is probably the easiest if data set is large.
library(sqldf)
DF4 <- read.csv.sql(fn, sql = 'select * from file where Date >= "1985-01-01"')
- 1. Przeczytaj csv na liście w clojure
- 2. Przeczytaj plik csv w R z kolumną waluty jako numeryczną
- 3. Przeczytaj csv z dd.mm.rrrr w Pythonie i Pandach
- 4. Usuwanie określonego wpisu/wiersza z Core-Data
- 5. MySQL: Uzyskiwanie numeru wiersza (ranking) dla określonego wiersza
- 6. Wybieranie określonego numeru wiersza w sql
- 7. Jak wyprowadzić skrót do wiersza CSV
- 8. Zmiana koloru tła określonego wiersza w slickgrid?
- 9. Przeczytaj doctype z JavaScriptem
- 10. przeczytaj application.conf z build.sbt
- 11. Przeczytaj XElement z XmlReadera
- 12. Czytanie pliku CSV z nazwą wiersza przez fread()
- 13. javascript pobiera wartość tekstową kolumny z określonego wiersza tabeli html
- 14. LINQ: Uzyskiwanie wiersza z maksymalną wartością określonego atrybutu
- 15. dopasowanie wiersza, który nie zawiera określonego tekstu z wyrażeń regularnych
- 16. Usługa SSRS: pobiera wartości z określonego wiersza zestawu danych?
- 17. Przeczytaj rozmiar czcionki z Ustawień
- 18. Przeczytaj JSON z adresu URL
- 19. Przeczytaj plik z powłoki mongo
- 20. Przeczytaj plik JSON z jQuery
- 21. Przeczytaj plik json z python
- 22. Odczyt z pliku CSV w programie MATLAB
- 23. Skrypt uniksowy do usunięcia pierwszego wiersza pliku CSV
- 24. Pomijanie więcej niż jednego wiersza w języku Python csv
- 25. Ruby CSV nie rozumie \ r \ n jako koniec wiersza
- 26. TFS - pobieranie historii dla określonego wiersza kodu w Visual Studio
- 27. Jak znaleźć zależności klucza obcego od określonego wiersza?
- 28. Przejdź do wiersza w edytorze Atom z wiersza poleceń
- 29. Przypisanie wektora do określonego istniejącego wiersza tabeli danych w R
- 30. Polecenie linux sed - dodawanie ciągów na każdym końcu wiersza csv
Jak można przekazać wiele argumentów na bieżąco? To znaczy, jeśli chcesz zwrócić wszystkie wiersze, w których Date = "2007-01-01" LUB "2007-01-02". – Zach
'podzbiór (DF2, Data ==" 2007-01-01 "| Data ==" 2007-01-02 ")' –
Przepraszamy, miałem na myśli jako część funkcji read.csv.sql – Zach