2015-10-24 13 views
5

muszę czytać stolikJak importować plik .tsv do R?

enter image description here

test <- read.table(file='drug_info.tsv') 
# Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
# line 1 did not have 10 elements 
test <- read.table(file='drug_info.tsv',) 
# Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
# line 1 did not have 10 elements 
scan("drug_info.tsv") 
# Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
# scan() expected 'a real', got 'ChallengeName' 
scan(file = "drug_info.tsv") 
# Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
# scan() expected 'a real', got 'ChallengeName' 

Jak mam ją przeczytać?

+1

Proszę kopiuj/wklej pierwszych 5 wierszy pliku do Twojego pytania i usunąć obrazek. –

+2

praktycznie 'read.delim' z domyślnymi ustawieniami – rawr

+1

' read.table' domyślnie używa odstępu od spacji (ogólnie: spacja lub tabulator). Jeśli masz spacje, możesz jawnie ustawić separator jako tabulator z 'sep =" \ t "'. 'read.table' działa z poprawnymi plikami wejściowymi, więc jeśli wystąpi problem z zaimportowaniem danych, jest to z plikiem, a nie z funkcją. Aby Ci pomóc, musimy udostępnić próbkę pliku, który faktycznie próbujesz zaimportować, a nie obraz danych w innym programie. – MrFlick

Odpowiedz

9

ten powinien zrobić:

read.table(file = 'drug_info.tsv', sep = '\t', header = TRUE) 
+2

To powinno dać ten sam błąd, co zgłoszono, linia 1 nie ma wystarczających elementów. – RobertH

+1

Myślę, że głosowanie w dół przyszło tu trochę przedwcześnie, ponieważ nie mamy żadnych rzeczywistych danych do przetestowania za pomocą jakiejkolwiek metody. –

5

Zakładając, że tylko pierwsza linia nie posiada odpowiednią liczbę elementów, i że jest to linia nazwy kolumn. Przejdź pierwszej linii:

d <- read.table('drug_info.tsv', skip=1) 

Teraz przeczytaj to

first <- readLines('drug_info.tsv', n=1) 

Sprawdzić go naprawić tak, że jego ilość elementów pasuje d a następnie

colnames(d) <- first 

Jeśli to nie zadziała, możesz wykonać

x <- readLines('drug_info.tsv') 

i diagnostyka takie jak ten:

sapply(x, length) 
Powiązane problemy