R语言 多个数据框循环与提取,改每个数据框变量名

#新变量的代码,导出复制到新Untitled执行
#【生成新tax】
a=list()
for (i in seq_along(files)){
  a[[i]]=cbind(assign(paste0('q',i),
                    gsub('W',files[i],"W$tax <- paste(W$name,'=',W$taxID)")))
  }
a
a2 <- unlist(a)
a2 <- as.data.frame(a2)
write.csv(a2,'w1.csv')

##【保留两个变量】
#b <- b[,c('tax','numUniqueReads')]
b=list()
for (i in seq_along(files)){
  b[[i]] <- cbind(assign(paste0('q',i), 
                         paste0(files[i], '<-', files[i],
                                "[,c('tax','numUniqueReads')]")))
}
b
b2 <- unlist(b)
b2 <- as.data.frame(b2)
write.csv(b2,'w2.csv')

#改名字
#names(a)[2] <- 'Control105A'
c <- list()
for (i in seq_along(files)){
  c[[i]] <- cbind(assign(paste0('q',i), 
                         paste0('names(',files[i], ')[2] <- ','"', files[i])))
}
c
c2 <- unlist(c)
c2 <- as.data.frame(c2)
c2
c2[,1] <- sub(pattern = "_report$", replacement = "\\1", c2[,1]) 
c2
c2[,1] <- paste0(c2[,1],'"')
c2
write.csv(c2,'w3.csv')

gsub这种替换的,直接先写好公式,核心替换

#直接生成数据框

files <- c("qy","e","ew")
a=data.frame()
for (i in seq_along(files)) {
  a[i,1]=gsub('W',files[i],"W$tax <- paste(W$name,'=',W$taxID)")
}  
a

b=data.frame()
files <- c("qy","e","ew")
for (i in seq_along(files)){
  b[i,1] <- paste0(files[i], '<-', files[i],
                  "[-c(1:4),c('gene_id','fpkm_unstranded')]")
}
b

1:ncol(df) 等于seq_along(df)

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值