【问题标题】:Extract the line with the same content from two files in R从R中的两个文件中提取具有相同内容的行
【发布时间】:2017-04-11 09:34:55
【问题描述】:

我想用readLines函数逐行读取文本文件

69C_t.txt

另外,我想编写一个带条件的简单 for 循环来提取两个文件中的相同行。

69C_t <- "69C_t.txt"
conn <- file(69C_t,open="r")
t <-readLines(conn)
69C_b <- "69C_b.txt"
conn <- file(69C_b,open="r")
b <-readLines(conn)
for (i in 1:length(t)){
  for (j in 1:length(b)){
    if (i==j)
    write(t[i], file = "overlap.txt")
  }
}
close(tumor)

但是,它似乎只打印出第一行。 有人可以检查一下吗?

【问题讨论】:

  • 您在比较 ij,而不是 t[i]b[j]。如果是这样写文件,应该先打开一个con,在循环结束时关闭,否则每次都会覆盖。
  • @AndrewGustar 你是完全正确的。谢谢。

标签: r


【解决方案1】:

一种更快的方法是,而不是循环

writeLines(t[t %in% b],"overlap.txt")

【讨论】:

    【解决方案2】:

    在 write 函数中添加 append 怎么样: write(t[i], file = "overlap.txt", append = TRUE)

    【讨论】:

    • 是的,应该是 if (b[j]==t[i]) and write(b[j], file = "overlapping.txt", append = TRUE)
    猜你喜欢
    • 1970-01-01
    • 2017-04-08
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    相关资源
    最近更新 更多