在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

等等...

现在,我想做的是按Number类别将这个新数据集随机化。因此,我想告诉R以相同的Number值获取每个数据块并重新组织这些块。我尝试使用sample(),但这似乎只能用于按行随机化。如您所见,Number类别的大小也不尽相同。基本上,我想创建一个看起来像这样的新矩阵:

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将每个新的Number类别识别为一个单独的事件,并通过每个新事件而不是按行随机地重组数据。

有谁知道一种方法来做我要在R中做的事情?

大卫·阿伦堡(David Arenburg)

您可以创建一个辅助函数,例如

reorderingFunc <- function(data, indxCol){
  indx <- sample(unique(data[, indxCol]))
  data[order(unique(data[, indxCol])[match(data[, indxCol], indx)]), ]
}

测验

set.seed(111) # Setting a seed so the outcome of `sample` be reproducible
reorderingFunc(df, "Number")
#       time behavior Number
# 3 10:30:00     FEED     10
# 4 10:30:01     FEED     10
# 5 10:30:02     FEED     10
# 6 11:01:00     FEED     21
# 7 11:01:01     FEED     21
# 1 10:04:36     FEED      1
# 2 10:04:37     FEED      1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中按类别随机化数据

来自分类Dev

如何使R中的数据随机化更快?

来自分类Dev

在R中的两列之间随机化数据

来自分类Dev

PySpark:将数据框中的行随机化

来自分类Dev

随机化/改组熊猫数据框中的行

来自分类Dev

随机化数据框列表中的一列

来自分类Dev

在Excel中的某些参数内随机化数据?

来自分类Dev

在 Swift 中收集和随机化数据

来自分类Dev

对中的随机化和R中的排序

来自分类Dev

对中的随机化和R中的排序

来自分类Dev

在Python中随机化列表

来自分类Dev

在Django中再次随机化

来自分类Dev

随机化DataFrame列中的值

来自分类Dev

随机化脚本中的颜色

来自分类Dev

如何随机化列表中的函数?

来自分类Dev

Linux中的内存随机化

来自分类Dev

在iMacros中随机化URL编号

来自分类Dev

随机化数组中的某些元素

来自分类Dev

在JavaScript中随机化字母颜色

来自分类Dev

如何随机化参数中的对象?

来自分类Dev

随机化变量中的单词列表

来自分类Dev

随机化systemverilog中的对象队列

来自分类Dev

随机(随机化)每一行的数据

来自分类Dev

如何在Firebase中的ng-repeat中随机化数据

来自分类Dev

随机化数据库中的所有条目

来自分类Dev

Excel 2013如何在多个工作表中引用数据+随机化表内容?

来自分类Dev

如何在Excel 2010中将数据随机化?

来自分类Dev

在C中随机排列或随机化数组

来自分类Dev

R-分别将矩阵中的每一行随机化