试图挑选2个随机科目,但不知道如何做R
random.subj <- sample(1:max(Data$Id), 2)
rd <- subset(Data$Id, Data$Id==random.subj)
我有一个数据集“数据”,如
Id
1
1
2
2
3
3
4
4
4
...
答案 0 :(得分:1)
嗯,在这种情况下,random.subj
将是两个元素的向量。在这种情况下,与==
进行相等比较可能不是你想要的,因为它只会通过较短的列表进行循环来执行比较,而不是像你想要的那样检查每一行的值。
此外,我不确定您的所有ID是否都是数字和顺序的。最好从ID本身中取一个随机样本,而不是从ID的索引中取样。
首先解决第二个问题
random.subj <- sample(Data$Id, 2)
实际上,如果您只需要两个ID,那么这就是您所需要的,但如果您想要这些ID的数据,那么
rd <- subset(Data, Data$Id %in% random.subj)
是提取它的正确方法。