r - R如何导入以相同模式命名的批量txt文件并从所有文件中提取具有相同名称的行
问题描述
我是个初学者……我有 36 个 txt 文件,如下面的屏幕截图所示 。在每个文件中,我有 23154 行同名。但是,文件之间的列号和名称是不同的。我的目的是从每篇论文中提取几个特定的行并将它们合并到一个新的数据框中。列按行名分组。
其中一个文件如下所示: 在此处输入图像描述
因此,行名称是基因 ID,列名称实际上是对测量基因的细胞阶段进行注释。每个文件包含一个或两个阶段,每个阶段大约有 20 个重复。
例如,我想选择 Phf20 和 Kat8。在最终文件中,我希望每列代表每个阶段的平均计数,并按每个基因排序。下面附上我期望的样子:
任何人都可以帮忙吗?请...
非常感谢!
解决方案
这大致是我将如何处理这个问题(注意我无法测试这段代码,因为我没有你的数据):
- 创建文件列表:
myfiles<-list.files(yourfilepath)
- 遍历此列表以读取 txt 文件并提取相关信息:
myrows<-c(1,2,3) #1,2,3 are the rows of interest
for(i in seq_along(myfiles)){
#you can also use read.table, depends how are your files delimited:
mydata<-read.delim(myfiles[i])
#select rows:
mydata<-mydata[myrows,]
if(i == 1){
finaldata<-mydata
}else{
#combine data frames by colums:
finaldata<-cbind(finaldata, mydata)
}
rm(mydata)
}
推荐阅读
- r - 如何在多个列上运行季节性 Mann Kendall
- c++ - std::tuple 访问算法中的折叠表达式
- c# - EFCore 过滤具有包含和值列表的属性
- c++ - 为什么使用私有动态数组时性能最差
- r - 尝试编写一个安装包的函数(如果尚未安装),然后加载它
- android - 未能连接到蓝牙设备 HC-08:“java.io.IOException:读取失败,套接字可能关闭或超时,读取 ret:-1”
- php - Ajax 调用 php curl 产生 undefined
- node.js - 检查用户是否有权限
- java - Spring Boot \ JWT:ResponseEntity类型中的方法ok(T)不适用于参数(JwtResponse)
- javascript - 安装时出现 TSC 错误消息。不知道怎么解决