2016-08-16 37 views
1

私はCSVファイルの内容のような文字列を持っています:'"number 1", "number 2"'、それを解析したいと思います。textconnectionは余分なスペースを生む[R]

私が見つけたtextconnectionは、ファイルハンドルに文字列を変換できます。それを使って構文解析ができました。しかし、それは私のコンテンツにいくつかの不思議な空間を生成します。いずれかの理由と修正方法を知っていますか?ありがとう

con = textConnection('"number 1", "number 2"') 
dat = read.csv(con, header = F, stringsAsFactors = F) 
close(con) 

dat 
#   V1  V2 
# 1 number 1 number 2 

dat[1,1] 
# [1] "number 1" 

dat[1,2] 
# [1] " number 2" --- why there's a space??? 
+0

カンマ(区切り記号はカンマ)の後にスペースがあるため、この通常の方法です。あなたは 'gsub("^+ "、" dat $ V2) ' – agstudy

答えて

1

スペースはすでに存在しているので、実際は謎ではありません。 read.csv()がファイルを解析する方法のために、コンマと引用符の間のスペースは残されます。 read.csv()への電話でstrip.white = TRUEを使用して解決できます。ところで

con = textConnection('"number 1", "number 2"') 
dat = read.csv(con, header = F, stringsAsFactors = F, strip.white = TRUE) 
dat[1,2] 
# [1] "number 2" 

、あなたはread.csv()textConnection()を使用する必要はありません。文字列がある場合、引数を使用してそれを渡すことができます。

+0

美しい解決策を使ってそれを削除することができます。ありがとうございます! @Dirty Sock Sniffer。明確化:strip.white = Tは二重引用符で囲まれたスペースを削除しません –

関連する問題