You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为DataFrame添加交替1/0列以完成50/50样本拆分的稳健性检验?

解决方案:生成交替1/0列并拆分DataFrame

基础R实现

直接用rep()函数按数据总行数循环生成1和0,代码如下:

# 添加交替1/0的列
mydata$rec <- rep(c(1, 0), length.out = nrow(mydata))

# 拆分为两个DataFrame
df_with_0 <- mydata[mydata$rec == 0, ]
df_with_1 <- mydata[mydata$rec == 1, ]

tidyverse/dplyr实现

如果习惯用dplyr操作,通过行号取模的方式更直观:

library(dplyr)

# 添加交替列
mydata <- mydata %>%
  mutate(rec = row_number() %% 2)

# 拆分数据
df_with_0 <- filter(mydata, rec == 0)
df_with_1 <- filter(mydata, rec == 1)

补充说明:你的数据总行数是811777(奇数),因此其中一组样本会比另一组多1行,大样本下这个微小差异完全可以忽略,不会影响稳健性检验的结果。

内容的提问来源于stack exchange,提问作者Jessica Mck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:09:16