数据集中哪些变量在ID中是常量

迈克尔·奇里科

我有一个数据集,其中包含每个人近乎重复的观察结果。我正在尝试确定每个特定ID的哪些变量正在跨行更改。

我开始检查:

dt[ , count := .N, by = id][count > 1, ]

(也使用headtail),但是有27000次(总计)重复观察-无法通过检查来确定哪些变量在变化。

有什么比蛮力更好的方法吗?特别是我希望避免循环,但是我不知道如何...

dt[ , count := .N, by = id]
for (var in setdiff(names(dt), c("id", "count"))){
  if (nrow(dt[ , list(.N, count), by = c("id", var)][N < count, ]) > 0){
    print(var)
  }
}

编辑

这是一个澄清的示例数据集:

set.seed(2304)
DT <- data.table(a = rep(sample(5), each = 3),
                 b = sample(15),
                 c = rep(LETTERS[1:5], each = 3),
                 d = rnorm(15),
                 e = rep(6:10, each = 3),
                 f = 15:1,
                 grp = paste0("Group ", rep(1:5, each = 3)))

所需的输出:

c("a", "c", "e")

因为这些变量对于的任何固定值都不会改变grp

布罗迪

让我们假装这mtcars$carb是我们的id然后,对于每个id的每个数字,我们想找出gear多少个不同的值:

data.table(mtcars)[, lapply(.SD, function(x) length(unique(x))), by=carb]

产生

   carb mpg cyl disp hp drat wt qsec vs am gear
1:    4   8   2    8  7    8  9   10  2  2    3
2:    1   7   2    7  6    6  7    7  1  2    2
3:    2   9   2   10  8    9 10   10  2  2    3
4:    3   3   1    1  1    1  3    3  1  1    1
5:    6   1   1    1  1    1  1    1  1  1    1
6:    8   1   1    1  1    1  1    1  1  1    1

值> 1的任何变量的每个carb都有变化的值


编辑:

或者,我们可以通过运行以下命令来扩展它:

data.table(mtcars)[,lapply(.SD,uniqueN),by=carb
                   ][,!"carb"][,lapply(.SD,table)]

   mpg cyl disp hp drat wt qsec vs am gear
1:   2   3    3  3    3  2    2  4  3    3
2:   1   3    1  1    1  1    1  2  3    1
3:   1   3    1  1    1  1    1  4  3    2
4:   1   3    1  1    1  1    2  2  3    3
5:   1   3    3  3    3  1    2  4  3    1

这样做的优点是(对于此样本数据集而言并不明显carb)仅当以上代码的输出length(unique(id))在相应列中恒定且等于时,ID内的给定列才是恒定的(在此)共有6个值carb,因此我们可以看到中的所有变量都不mtcars是常量carb此外,如果我们有很多ID(在当前示例中,我有> 50,000),则上述方法将很难直接解释。

坚持下去mtcars,我们可以看到里面有一些恒定的变量disp

data.table(mtcars)[,lapply(.SD,uniqueN),by=disp
                   ][,!"disp"][,lapply(.SD,table)]

   mpg cyl hp drat wt qsec vs am gear carb
1:  24  27 26   26 24   23 27 27   27   26
2:   2  27  1    1  2    3 27 27   27    1
3:   1  27 26   26  1    1 27 27   27   26

因此,vsam,和gear是内是恒定的disp

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在大型数据集中,确定哪些变量是分类变量,哪些是数字变量

来自分类Dev

在大型数据集中,确定哪些变量是分类变量,哪些是数字变量

来自分类Dev

从SPSS中的数据集中删除所有变量

来自分类Dev

如何在Rstudio中删除大型数据集中的变量?

来自分类Dev

重塑数据集中的多个变量

来自分类Dev

如果变量名称存储在变量中,如何访问数据集中的变量?

来自分类Dev

使用matlabFunction,如何指定哪个是变量,哪些是常量?

来自分类Dev

VHDL中的变量和常量

来自分类Dev

PHP:变量中的常量名称

来自分类Dev

将列分组并将变量存储在R中的数据集中的列表中

来自分类Dev

在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

来自分类Dev

在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

来自分类Dev

在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

来自分类Dev

如何从数组中获取所有数据并将其存储在新变量或常量中?

来自分类Dev

变量在数据集中多次出现的概率

来自分类Dev

将行转换为数据集中的变量

来自分类Dev

纵向数据集中的累积变量构造

来自分类Dev

Angular2从集中式数据中检测父级变量的变化

来自分类Dev

通过将数据集中的所有变量保留在r中来计算均值

来自分类Dev

将变量的存储类型保存在宏中。dta数据集中(不打开它)

来自分类Dev

重命名ONE SAS库中多个数据集中的多个变量

来自分类Dev

如何在SSRS中同时使用一个数据集中的变量和列?

来自分类Dev

在多个数据集中具有多个变量的箱线图在 r 中具有相同的组

来自分类Dev

在Rails中存储常量数据

来自分类Dev

在Rails中存储常量数据

来自分类Dev

如何检查一个数据集中的单元格是否存在于另一个数据集中的变量/列中?

来自分类Dev

使用数据集中的现有变量创建变量

来自分类Dev

React Native中的全局变量/常量

来自分类Dev

“类型”-声明vba中的常量变量

Related 相关文章

  1. 1

    在大型数据集中,确定哪些变量是分类变量,哪些是数字变量

  2. 2

    在大型数据集中,确定哪些变量是分类变量,哪些是数字变量

  3. 3

    从SPSS中的数据集中删除所有变量

  4. 4

    如何在Rstudio中删除大型数据集中的变量?

  5. 5

    重塑数据集中的多个变量

  6. 6

    如果变量名称存储在变量中,如何访问数据集中的变量?

  7. 7

    使用matlabFunction,如何指定哪个是变量,哪些是常量?

  8. 8

    VHDL中的变量和常量

  9. 9

    PHP:变量中的常量名称

  10. 10

    将列分组并将变量存储在R中的数据集中的列表中

  11. 11

    在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

  12. 12

    在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

  13. 13

    在R中,将一个数据集中的变量与另一个数据集中的匹配变量进行装箱

  14. 14

    如何从数组中获取所有数据并将其存储在新变量或常量中?

  15. 15

    变量在数据集中多次出现的概率

  16. 16

    将行转换为数据集中的变量

  17. 17

    纵向数据集中的累积变量构造

  18. 18

    Angular2从集中式数据中检测父级变量的变化

  19. 19

    通过将数据集中的所有变量保留在r中来计算均值

  20. 20

    将变量的存储类型保存在宏中。dta数据集中(不打开它)

  21. 21

    重命名ONE SAS库中多个数据集中的多个变量

  22. 22

    如何在SSRS中同时使用一个数据集中的变量和列?

  23. 23

    在多个数据集中具有多个变量的箱线图在 r 中具有相同的组

  24. 24

    在Rails中存储常量数据

  25. 25

    在Rails中存储常量数据

  26. 26

    如何检查一个数据集中的单元格是否存在于另一个数据集中的变量/列中?

  27. 27

    使用数据集中的现有变量创建变量

  28. 28

    React Native中的全局变量/常量

  29. 29

    “类型”-声明vba中的常量变量

热门标签

归档