1、两列合并为1列
dat <- read.table("outcome.ped") dat <- dat[,-(1:6)] dat result <- data.frame(v1 = 1:(2 * nrow(dat))) ## 先生成合并后的框架,两列合并为1列,因此行数翻倍 for (i in 1:(ncol(dat)/2)) { ##按照列数的一半进行循环 temp1 <- c(dat[,i * 2 - 1], dat[, i * 2]) ##合并 result <- cbind(result, temp1) ##添加到数据框 } result
2、4列合并为1列(同上)
dat <- read.table("outcome.ped") dat <- dat[,-(1:6)] dat result <- data.frame(v1 = 1:(4 * nrow(dat))) for (i in 1:(ncol(dat)/4)) { temp1 <- c(dat[,4 * i - 3], dat[, 4 * i - 2], dat[, 4 * i - 1], dat[, 4 * i]) result <- cbind(result, temp1) } result
请发表评论