我需要将数据集随机分割为训练、验证和测试集,就像这篇文章所示(R: How to split a data frame into training, validation, and test sets?),但需要将分割主题ID与数据框中的其余部分随机关联起来。
如果我随机拆分这些数据,例如,主题A的条目可能在我的测试集中有两个,在验证集中有一个。但我需要不同ID的随机拆分,而不是整个数据框的随机拆分,我无法想出如何连接它们。
当应用该问题的代码时,它完全随机地分割我的数据帧,但我有堆叠的ID,需要它们保持在一起,否则一个科目的数据将分布在不同的集合中。
如果这听起来有点混乱,我很抱歉。以下是我的数据,以解释这个问题:
df <- c(Contact.ID, Date.Time, Age, Gender, Attendance)
Contact.ID Date.Time Age Gender Attendance
1 A 2012-07-06 18:54:48 37 Male 30
2 A 2012-07-06 20:50:18 37 Male 30
3 A 2012-08-14 20:18:44 37 Male 30
4 B 2012-03-15 16:58:15 27 Female 40
5 B 2012-04-18 10:57:02 27 Female 40
6 B 2012-04-18 17:31:22 27 Female 40
7 B 2012-04-18 18:37:00 27 Female 40
8 C 2013-10-22 17:46:07 40 Male 5
9 C 2013-10-27 11:21:00 40 Male 5
10 D 2012-07-28 14:48:33 20 Female 12
如果我随机拆分这些数据,例如,主题A的条目可能在我的测试集中有两个,在验证集中有一个。但我需要不同ID的随机拆分,而不是整个数据框的随机拆分,我无法想出如何连接它们。
spec
分割了我的280,000个观测值,但是不同的集合仍然每个有13,000个ID,因此它仍然没有按照spec
分割我的ID。您有什么想法可以改变这种情况吗? - Feedput(head(df))
的输出,那将会很有帮助。 - josliber