搜索
查看: 4575|回复: 0

R中批量读入文件--assign+paste

[复制链接]

2

主题

5

帖子

115

积分

注册会员

Rank: 2

积分
115
发表于 2017-6-28 10:48:15 | 显示全部楼层 |阅读模式
本帖最后由 feilei_1986 于 2017-6-28 10:50 编辑

假设我有一批文件需要读取,单个读入如下:
[AppleScript] 纯文本查看 复制代码
d48 = read.csv("48.FPKM_TPM.sorted", sep="\t",row.names = "transcript_id")
d49 = read.csv("49.FPKM_TPM.sorted", sep="\t",row.names = "transcript_id")
#...
d59 = read.csv("59.FPKM_TPM.sorted", sep="\t",row.names = "transcript_id")

all(rownames(d48) ==rownames(d51))
all=cbind(d48,d49,d50,d51,d52,d53,d54,d55,d56,d57,d58,d59)

# 当使用write.table命令时,col.names=NA,那么第一行就会空出一个位置,就不会造成第一列左移
write.table(all, file="all_FPKM_TPM.txt", quote=F, sep = "\t",col.names=NA)

单个读入需要重复输入一批代码,而批量读入文件只需要for循环+assign函数+paste函数
[AppleScript] 纯文本查看 复制代码
for(i in 48:59)
{
        assign(paste("d",i,sep=""), read.csv(paste(i,".FPKM_TPM.sorted",sep=""), sep = "\t", row.names = "transcript_id"))
}

# 查看读入的文件
head(d48)
head(d59)



so easy~~~~~~~~~~ ^_^



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2022-12-8 01:41 , Processed in 0.110745 second(s), 36 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.