r - 一次引入多个文件时,R仅输出最后一个文件的数据
问题描述
我正在尝试创建一个代码,在其中一次引入多个文本文件。每个文件都包含一个表格,下面有一个示例,下面的代码重新组织了每个文件。现在,变量 out.file2 仅从函数循环通过的最后一个文件输出调整后的表。我知道代码正确循环每个文件,因为如果我在for语句中使用 print (out.file2),它将输出所有调整后的文件。但是,我需要能够将此输出分配给一个变量,因为我计划对每个表进行比较。我不想将任何输出重定向到文本文件,因为我想最终在与下面的脚本相同的脚本中进行这些比较。
我尝试使用 function() 和 lapply() 调整代码,但没有任何区别。我也试图从以前的问题中找到解决方案,但还不能让它发挥作用。如果有人有任何建议,我将不胜感激!
示例表 - 我意识到格式很奇怪,但这就是它在文本文件中并引入代码时的显示方式,如下所示。共有 23 列,每个名称以“col..”开头
+---------------------------------------------------------------------------------+
| col1 col2 col3 col4 col5 col6
+
| 1 33 6.51 44 16 6.6
| col7 col8 col9 col10 col11 col12
| 2000 95 4 555 33 11
| col13 col14 col15 col16 col17 col18
| 30 ax 53 ax 43 3687
| col19 col19 col20 col21 col22
| 355 ax 22 34 44
| col23
| 432
+---------------------------------------------------------------------------------+
代码:
vcffiles = dir(path = "filepath", pattern=".txt") #longneutraldatac
out.file<- numeric()
library(dplyr)
library(tidyr)
out.file<- numeric()
for (i in 1:length(vcffiles)){ #length(vcffiles))
lines = readLines(vcffiles[i])
ind1 <- seq(1, length(lines), by = 2)
ind2 <- seq(2, length(lines), by = 2)
out <- read.table(header = TRUE, text = c(
paste(lines[ind1], collapse = " "),
paste(lines[ind2], collapse = " ")
))
out.file2 <- rbind(out.file, out)
}
解决方案
“out.file2”在循环的每次迭代中由“out.file”(空向量)和“out”(文本文件)构成。上一次迭代的“out”的内容就丢失了。如果您在循环中更新“out.file”而不是“out.file2”,它应该可以工作。
vcffiles = dir(path = "filepath", pattern=".txt")#longneutraldatac
out.file<- numeric()
for (i in 1:length(vcffiles)){ #length(vcffiles))
lines = readLines(vcffiles[i])
ind1 <- seq(1, length(lines), by = 2)
ind2 <- seq(2, length(lines), by = 2)
out <- read.table(header = TRUE, text = c(
paste(lines[ind1], collapse = " "),
paste(lines[ind2], collapse = " ")
))
out.file <- rbind(out.file, out)
}
推荐阅读
- javascript - 在angularjs中带有表格数据的引导轮播
- javascript - [Vue 警告]:缺少必需的道具
- java - 我不想从 axboot 记录 jpa 查询
- python - 将 python 与 quickbook 桌面应用程序集成
- json - 如何在 Swift/Xcode 中解析来自 Google Places API 的 JSON“附近搜索响应”
- .net - 登录后使用 PayPal 回调事件登录
- ios - 导航栏清除颜色为黑色
- php - 生成具有固定数量字母的随机字母数字字符串
- c# - Asp.net core MVC 依赖注入 - 构造函数中的必需属性?
- java - 数组列表
使用改造android解析成recyclerview