所以我对R有点新,所以如果这是一个愚蠢的问题,请原谅我。我有行为的数据集,看起来是这样的:在R中随机分类数据
time behavior
10:04:36 FEED
10:04:37 FEED
10:04:38 REST
10:04:39 REST
10:04:40 RUN
等。
我添加了一个列数每一个新的行为作为一个唯一的编号,是这样的:
time behavior Number
10:04:36 FEED 1
10:04:37 FEED 1
10:04:38 REST 2
10:04:39 REST 2
10:04:40 RUN 3
因此,如果10:04:36和10:30:00的行为都是FEED,则它们仍然被视为不同的行为事件,因为它们具有不同的数字。然后,我通过行为类别对我的数据进行子集化,以便获得所有行为的数据集。然而,在这组数据我有一些类别每次我有一个新的行为事件,例如:
time behavior Number
10:04:36 FEED 1
10:04:37 FEED 1
10:30:00 FEED 10
10:30:01 FEED 10
10:30:02 FEED 10
11:01:00 FEED 21
11:01:01 FEED 21
等等
现在,我想这样做是随机化这一新数据集按数字类别。因此,我想告诉R使用相同的Number值来获取每个数据块并重新组织这些块。我尝试使用sample(),但似乎只能用于按行随机化。正如你所看到的,数字类别的大小也不尽相同。基本上我想创建一个新的矩阵,看起来是这样的:
time behavior Number
10:30:00 FEED 10
10:30:01 FEED 10
10:30:02 FEED 10
11:01:00 FEED 21
11:01:01 FEED 21
10:04:36 FEED 1
10:04:37 FEED 1
所以,我会如R每一个新的事件来识别每一个新的编号类别作为一个独特的事件,并随机重新组织数据,不按行。
有没有人知道一种方法来做我想在R做什么?
你能给所需的输出,我不知道你想要什么。对于最后一块代码,你想对它做什么?如果我同时使用'Number == 1'行,您希望它们是如何排列的? – 2014-11-03 15:33:39
我不确定我是否遵循,但是您可能只需使用'sample'创建一个新列,例如'df $ NewOrder < - sample(df $ Number)',然后对它的数据集进行重新排序,即' df < - df [order(df $ NewOrder),]' – 2014-11-03 15:34:28
嗨,我很抱歉的混淆,我仍然在想方设法弄清楚我的观点。我做了一些编辑,现在更有意义了吗? – 2014-11-03 16:07:56