R-如何将有序的数据框架分为上半场和下半年



我想将数据框传递到将其分为两个半部分但保留顺序的函数(例如,一个返回的DF和行6--在一个返回的df和行6--中。在另一个返回的DF中有10个。我正在尝试使用函数split()到(返回2 dfs的列表,但是当我使用sample()时,它会混合订单。

split_df<- function(df)
{
  test = split(df, sample(1:2,length(df)/2))
  return(test)
}

我在sample()的输入方面遇到了麻烦。我知道人们在这里询问有关将数据帧拆分的问题,但是由于某种原因,我无法将其工作。除了sample()之外,我还能使用什么?

sample功能的名称可能会使您失望。它旨在随机采样。尝试rep()

split_df <- function(df) {
   test <- split(df, rep(1:2,each=length(df)/2))
   return(test)
}

您也可以以非常基本的方式进行

split_df <- function(df) {
      df1 <- df[1:ceiling(length(df[ , 1])), ]
      df2 <- df[ceiling(length(df[ , 1])):length(df[ , 1]), ]
      return(list(df1, df2))
}

最新更新