2017-09-23 7 views
0

私は名前のテキストファイルをカンマで区切っていますが、これをR(データフレームまたはベクトルは問題ありません)に書いておきたいものです。私はread.csvを試して、別の列のヘッダーとしてすべてを読み込みますが、データは0行です。私はheader = FALSEを試して、別々の列として読み込みます。私はこれで作業することができましたが、本当に必要なのは、列ごとに1つの列があり、各列に1つの列があります。たとえば、このデータフレームを印刷しようとすると、不要なすべての列見出しが印刷され、値が印刷されません。それは簡単に使えるはずですが、私には名前の1列が扱いやすいと思われます。CSVから名前のリストを読み込んでください。

あなたが read.csvは、ヘッダーとして読み文字列ですが、その後、ちょうど( namesを使用して)名前を抽出し、 data.frameにこれを入れて使用することができます
+0

ファイルを見ることなく、わかりにくいです。たぶん、データが表形式ではなく、コンマで区切られた長い文字列です。このような場合は 'scan(what = 'character'など)'を試してください。 (ファイルを最初にテキストエディタでチェックしてください) –

+0

@RuiBarradasはい、そうです。コンマで区切られた長い文字列です。私は1つの列としてそれを読み取ろうとしていますが、それはRでデフォルトの動作ではないように見えますが、 – Graphth

+0

の場合は 'dat < - scan(file = your_filename、what = 'character' sep = '、') '。 –

答えて

2

:あなたはこの部分を必要とする

# test data 
list_of_names <- c("qwerty","asdfg","zxcvb","poiuy","lkjhg","mnbvc") 
list_of_names <- paste(list_of_names, collapse = ",") 

list_of_names 

# write to temp file 
tf <- tempfile() 
writeLines(list_of_names, tf) 

は、いくつかのテストデータを作成します。
これは非常に簡単です。 scanを使用して、数値または文字列のデータを読み込むのが実践されています。

dat <- scan(file = your_filename, what = 'character', sep = ',') 
1

data.frame(x = names(read.csv("FILE"))) 

例えば:

write.table("qwerty,asdfg,zxcvb,poiuy,lkjhg,mnbvc", 
      "FILE", col.names = FALSE, row.names = FALSE, quote = FALSE) 
data.frame(x = names(read.csv("FILE"))) 

     x 
1 qwerty 
2 asdfg 
3 zxcvb 
4 poiuy 
5 lkjhg 
6 mnbvc 
1

そのような何かを? OPは、私は答えとして上記のコメントを投稿しますように頼んだので

# read from file 
line_read <- readLines(tf) 
line_read 

list_of_names_new <- unlist(strsplit(line_read, ",")) 
関連する問題