ファイルに空白行が多い場合、RのreadLinesで空白行を削除する方法は?
blank.lines.skip=T
in を使用しread.table
て削除できることはわかっていますが、 in はreadLines
どうですか?
\n
また、 readLinesで最後を削除するにはどうすればよいですか?
ファイルに空白行が多い場合、RのreadLinesで空白行を削除する方法は?
blank.lines.skip=T
in を使用しread.table
て削除できることはわかっていますが、 in はreadLines
どうですか?
\n
また、 readLinesで最後を削除するにはどうすればよいですか?
選択演算子を使用して、readLinesによって返される文字ベクトルから空白以外の行を見つけるのはどうですか?
# character vector mimicking readLine output, lines 2, 4, and 5 are blank
lines <- c("aaa", "", "ccc", "", "")
# [1] "aaa" "" "ccc" "" ""
# select lines which are blank
lines[which(lines=="")]
# [1] "" "" ""
# conversely, lines which are not
lines[which(lines!="")]
# [1] "aaa" "ccc"
上記の偽のreadLine
データを使用しましたが、実際には\n
、空白行または最後の行に対してreadLinesが返されることはありません。
再現可能な例:
Z <- readLines(textConnection("line1 , stuff, other stuff\nline2 ,junk\nline3, a blank two lines follow\n\n\nline6\n"))
> Z
[1] "line1 , stuff, other stuff" "line2 ,junk" "line3, a blink two lines follow"
[4] "" "" "line6"
[7] ""
> Z1 <- Z[sapply(Z, nchar) > 0] # the zero length lines get removed.
> Z1
[1] "line1 , stuff, other stuff" "line2 ,junk" "line3, a blank two lines follow"
[4] "line6"
@Andrieは、次のようなことを提案していました:
> Z <- scan(textConnection("line1 , stuff, other stuff\nline2 ,junk\nline3, a blink two lines follow\n\n\nline6\n"),
what="", sep="\n",blank.lines.skip=TRUE)
Read 4 items
> Z
[1] "line1 , stuff, other stuff" "line2 ,junk" "line3, a blink two lines follow"
[4] "line6"