我有20个与10个位置相关的数据框(10个为男性,10个为女性)。我为我的数据添加了相同的名称(01M.txt,02M.txt,01F.txt,02F.txt,... 10M.txt,10F.txt)。 对于每个数据,我有6个变量,如(位置,计数,年份,月份,日期,男性(或女性)) 这是我的代码
rm(list = ls(all = TRUE))# clear workspace
setwd("~/NewJob/MyData/")
library(reshape2)
require(plyr)
library(dplyr)
InputM <- paste0(formatC(1:10, width = 2, flag = "0"),"M.txt")
InputF <- paste0(formatC(1:10, width = 2, flag = "0"),"F.txt")
Output <- paste0(formatC(1:10, width = 2, flag = "0"), "Mixed.txt")
dataM <- list()
dataF <- list()
data <- list()
for (i in 1:length(InputM)){
dataM[[i]]<- read.csv(InputTM[i], header = T,sep="\t")}
for (i in 1:length(InputF)){
dataF[[i]] <- read.csv(InputF[i], header = T,sep="\t")}
data[[i]]<- cbind(dataM[[i]],dataF[[i]])
write.table(data[[i]], file = Output[i], sep = "\t",col.names = TRUE, quote = FALSE, row.names=FALSE)
当我运行此代码时,我得到了dataF重复。
我希望将dataM和dataF与7个变量结合使用,如下所示: 位置,计数,年份,月份,日,男性,女性)当我没有得到相应的日期时,我可以把NA。
提前感谢。
答案 0 :(得分:0)
没有循环:
setwd("~/NewJob/MyData/")
InputM = grep('M', list.files() )
InputF = grep('F', list.files() )
listM = lapply( InputM, function(x){ read.csv(x, head=T, sep='\t')})
listF = lapply( InputF, function(x){ read.csv(x, head=T, sep='\t')})
dataM = do.call(rbind.data.frame, listM)
dataF = do.call(rbind.data.frame, listF)