web-dev-qa-db-ja.com

.tsvファイルをインポートする方法

Rの.tsvファイルであるテーブルを読み取る必要があります。

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'

どのように読むべきですか?

17
Andrew Voronkov

これはそれを行う必要があります:

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

パッケージdata.tableからfreadを使用すると、データが読み取られ、read.tableを使用して取得しているエラーがスキップされます。

require(data.table)

data<-as.data.frame(fread("drug_info.tsv"))
7
Tarun Bhavnani

最初の行のみに適切な数の要素がなく、これが列名の行であると仮定します。最初の行をスキップします。

 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)
5
Robert Hijmans

データをcsvのように扱い、タブの区切りを指定できます。

read.csv("drug_info.tsv", sep = "\t")
1
Sam Old

utils::read.delim()は、他のライブラリをインストールしたくない場合に、このような場合に最も一般的に使用されます。サンプルコードは次のようになります。

test <- read.delim(file='drug_info.tsv')

または、はるかに使いやすいio関数を readr library 、ここで read_tsv名前付き関数 は直接利用可能です:

test <- readr::read_tsv('drug_info.tsv')
0
千木郷