R语言中实现将多行数据合并为一行

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

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15562651.html