Ответ 1
Это должно сделать это:
read.table(file = 'drug_info.tsv', sep = '\t', header = TRUE)
Мне нужно прочитать таблицу, которая является .tsv
файл в R.
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'
Как я должен это прочитать?
Это должно сделать это:
read.table(file = 'drug_info.tsv', sep = '\t', header = TRUE)
Использование fread из таблицы данных package.table будет считывать данные и будет пропускать ошибку, которую вы получаете с помощью read.table.
require(data.table)
data<-as.data.frame(fread("drug_info.tsv"))
Предполагая, что только первая строка не имеет правильного количества элементов и что это строка имен столбцов. Пропустить первую строку:
d <- read.table('drug_info.tsv', skip=1)
Теперь прочитайте его
first <- readLines('drug_info.tsv', n=1)
Осмотрите его, исправьте так, чтобы его количество соответствовало d
, а затем
colnames(d) <- first
Если это не сработает, вы можете сделать
x <- readLines('drug_info.tsv')
и диагностики следующим образом:
sapply(x, length)
Вы можете обрабатывать данные как CSV и указывать удаление вкладок.
read.csv("drug_info.tsv", sep = "\t")
utils::read.delim()
чаще всего используется в таком случае, если вы не хотите устанавливать другую библиотеку. Пример кода может быть что-то вроде:
test <- read.delim(file='drug_info.tsv')
или гораздо более дружественные функции io могут быть доступны из readr library
, где именованная функция read_tsv
доступна напрямую:
test <- readr::read_tsv('drug_info.tsv')