1、将连续两行数据合并为一行
dat <- read.table("outcome.ped") dat <- dat[,-(1:16)] dat result <- data.frame() ## 生成母版 for (i in 1:(nrow(dat)/2)) { ## 行数缩减1倍 temp1 <- c(dat[2 * i - 1,], dat[2 * i,]) ## 两行合并为一个向量 result <- rbind(result, temp1) ## 添加到数据框 } result
2、将连续的三行数据合并为一行(同上)
dat <- read.table("outcome.ped") dat <- dat[,-(1:16)] dat result <- data.frame() for (i in 1:(nrow(dat)/3)) { temp1 <- c(dat[i * 3 - 2,], dat[i * 3 - 1,], dat[i * 3,]) names(temp1) <- colnames(result) result <- rbind(result, temp1) } colnames(result) <- paste0("v", 1:ncol(result)) result