如何解决如何使用两个分类变量从数据框中采样行?
我有一个带有两个分类变量的数据框。
samples<-c("A","A","B","C","C")
groups<-c(1,1,2,3,2)
df<- data.frame(samples,groups)
df
samples groups
1 A 1
2 A 1
3 A 2
4 A 3
5 B 1
6 B 1
7 B 1
8 C 2
9 C 2
10 C 2
我想要的结果是对groups
中的每个给定组将给定样本的数据帧降采样为最多x行。在此示例中,X = 2。
有没有简单的方法可以做到这一点?
解决方法
看看这是否是您想要的:
library(data.table)
setDT(df)
x <- 2
df[,index := seq_len(.N),by = .(samples,groups)]
df <- copy(df[index <= x][,index := NULL])
df
samples groups
1: A 1
2: A 1
3: A 2
4: A 3
5: B 1
6: B 1
7: C 2
8: C 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。