我有一个包含来自三个不同项目的 9558 行的数据集。我想将这个数据集随机分成三个相等的组,并为每个组分配一个唯一的 ID,以便Project1_Project_2_Project3
变成Project1
, Project2
and Project3
.
我尝试了很多方法,并在谷歌上搜索了与我有类似问题的人的代码。我用过sample_n()
and sample_frac()
,但不幸的是我自己无法解决这个问题:/
我制作了一个数据集示例,如下所示:
ProjectName <- c("Project1_Project2_Project3")
data <- data.frame(replicate(10,sample(0:1,9558,rep=TRUE)))
data <- data.frame(ProjectName, data)
并且输出应该随机分成三个相等的组nrow=3186
然后分配给值
ProjectName Count of rows
Project1 3186
Project2 3186
Project3 3186
IMO 只分配随机项目名称就足够了。
dat$ProjectName <- sample(factor(rep(1:3, length.out=nrow(dat)),
labels=paste0("Project", 1:3)))
Result
head(dat)
# X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 ProjectName
# 1 1 1 0 1 1 1 1 0 1 0 Project1
# 2 1 1 1 1 1 1 0 0 1 0 Project1
# 3 0 0 1 1 0 0 0 1 1 1 Project1
# 4 1 1 1 0 1 0 1 1 0 1 Project3
# 5 1 0 0 1 1 1 1 0 0 1 Project1
# 6 1 0 0 0 0 1 0 1 1 1 Project3
table(dat$ProjectName)
# Project1 Project2 Project3
# 3186 3186 3186
Data
set.seed(42)
dat <- data.frame(replicate(10, sample(0:1, 9558, rep=TRUE)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)