我想将数据框传递到将其分为两个半部分但保留顺序的函数(例如,一个返回的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))
}